
  :root{
    --charcoal:#3D3D3D;
    --gold:#B89B5E;
    --bg:#FFFFFF;
    --bg-alt:#F7F7F7;
    --body-text:#4A4A4A;
    --muted:#777777;
    --nav-h:88px;
    --submenu-clearance:56px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--bg);color:var(--body-text);font-family:'Urbanist',sans-serif;overflow-x:hidden;}
  a{text-decoration:none;color:inherit;}

  /* ============ HERO ============ */
  .hero{
    position:fixed; inset:0; z-index:50;
    display:flex; align-items:center; justify-content:center;
    background:var(--bg);
    transition:opacity .6s ease, visibility .6s ease;
  }
  .hero.entered{ opacity:0; visibility:hidden; pointer-events:none; }

  .hero-logo{
    background:transparent; border:none; outline:none; box-shadow:none;
    -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
    margin:0; cursor:default; padding:0;
    font-family:'League Spartan',sans-serif; font-weight:700;
    display:flex; align-items:baseline; justify-content:center;
    white-space:nowrap;
    /* font-size shrinks smoothly from the big "TCA" mark down to the full-name line size */
    font-size:clamp(64px, 14vw, 180px);
    letter-spacing:2px;
    transition:font-size .9s cubic-bezier(.65,0,.35,1), letter-spacing .9s ease;
  }
  .hero-logo:focus, .hero-logo:active, .hero-logo:focus-visible{
    background:transparent; outline:none; box-shadow:none;
  }
  .hero-logo::-moz-focus-inner{ border:0; }
  .hero.name-shown .hero-logo{
    font-size:clamp(22px, 4.6vw, 48px);
    font-weight:500;
    letter-spacing:.5px;
  }

  .hero-logo .letter{
    color:var(--charcoal); opacity:0; transform:none;
    transition:opacity .4s ease, color .35s ease;
  }
  .hero-logo .letter.shown{ opacity:1; transform:none; }
  .hero-logo .letter.accent{ color:var(--gold); }

  /* the inserted mid-word text: typed in character by character with the same font as the anchor letters */
  .hero-logo .fill{
    display:inline-block; white-space:pre;
    color:var(--charcoal); opacity:1; transform:translateY(0);
    transition:color .35s ease, opacity .4s ease, transform .4s ease;
  }
  .hero-logo .fill.accent{ color:var(--gold); }
  .hero-logo.is-gold .letter,
  .hero-logo.is-gold .fill{ color:var(--gold); }

  /* Click-to-enter: added letters disappear while TCA stays visible */
  .hero-logo.collapsing .fill{
    opacity:0;
    max-width:0;
    overflow:hidden;
    transform:translateX(-8px);
    transition:opacity .45s ease, max-width 1.15s cubic-bezier(.16,1,.3,1), transform .7s ease;
  }
  .hero-logo.collapsing .letter{
    opacity:1;
    transform:translateY(0);
  }
  /* The travelling logo changes only geometry. Opacity is never animated;
     the permanent corner mark is committed atomically in JS at handoff. */
  .hero-logo.moving{
    position:fixed;
    z-index:70;
    transform-origin:left top;
    transition:transform 2.8s cubic-bezier(.16,1,.3,1);
  }

  /* The full name turns gold as part of the automatic sequence. */

  /* ============ MAIN HEADER ============ */
  .site-header{
    position:fixed; top:0; left:0; right:0; height:var(--nav-h); z-index:80;
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    padding:0 40px; background:#fff; backdrop-filter:none;
    border-bottom:1px solid #d9d9d9;
    opacity:0; transform:translateY(-12px);
    transition:opacity .7s ease .15s, transform .7s ease .15s;
    pointer-events:none;
  }
  .site-header.visible,
.site-header.is-final-header,
html.tca-intro-seen #siteHeader.site-header{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

  .logo-mini{
    font-family:'League Spartan',sans-serif; font-weight:700;
    letter-spacing:2px; cursor:pointer;
  }
  .logo-mini span{ color:var(--charcoal); transition:color .3s; }
  .logo-mini .accent{ color:var(--gold); }
  .logo-mini:hover span{ color:var(--gold); }

  .main-nav{ display:flex; justify-content:space-between; gap:24px; width:min(640px,60vw); max-width:100%; }
  .nav-item{ position:relative; padding:32px 0; }
  .nav-item > span{
    font-family:'League Spartan',sans-serif; font-weight:500; font-size:20px;
    color:var(--charcoal); cursor:pointer; transition:color .3s;
    display:block;
  }
  .nav-item:hover > span{ color:var(--gold); }

  .submenu{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
    background:transparent; border:none; box-shadow:none;
    padding:14px 0 0 0; opacity:0; visibility:hidden; z-index:85;
    display:flex; flex-direction:row; flex-wrap:nowrap; white-space:nowrap; gap:26px;
    transition:opacity .3s ease, transform .3s ease;
  }
  /* submenu opens on click (via .open class from JS), not on hover */
  .nav-item.open .submenu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
  .nav-item.open > span{ color:var(--gold); }
  .submenu a{
    display:block; padding:0; font-size:15px; color:var(--body-text);
    border:none;
    transition:color .25s;
  }
  .submenu a:hover{ color:var(--gold); background:none; }

  /* keep the horizontal submenu on-screen for the first and last nav items */
  .nav-item:first-child .submenu{ left:0; transform:translateX(0) translateY(8px); }
  .nav-item:first-child.open .submenu{ transform:translateX(0) translateY(0); }
  .nav-item:last-child .submenu{ left:auto; right:0; transform:translateX(0) translateY(8px); }
  .nav-item:last-child.open .submenu{ transform:translateX(0) translateY(0); }

  /* Hamburger */
  .hamburger{
    width:34px; height:22px; position:relative;
    background:transparent; border:none; outline:none; box-shadow:none;
    -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
    margin:0; cursor:pointer; padding:0;
  }
  .hamburger:focus, .hamburger:active{ background:transparent; outline:none; box-shadow:none; }
  .hamburger span{
    position:absolute; left:0; width:100%; height:2px; background:var(--charcoal);
    transition:transform .35s ease, opacity .25s ease, background .3s;
  }
  .hamburger span:nth-child(1){ top:0; }
  .hamburger span:nth-child(2){ top:10px; }
  .hamburger span:nth-child(3){ top:20px; }
  .hamburger:hover span{ background:var(--charcoal); }
  .hamburger.open span:nth-child(1){ transform:translateY(10px) rotate(45deg); }
  .hamburger.open span:nth-child(2){ opacity:0; }
  .hamburger.open span:nth-child(3){ transform:translateY(-10px) rotate(-45deg); }

  .hamburger-menu{
    position:fixed; top:var(--nav-h); right:40px; z-index:86;
    background:transparent; box-shadow:none;
    display:flex; flex-direction:column; align-items:flex-end;
    gap:16px; padding:22px 0 0;
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .35s ease, transform .35s ease, visibility .35s ease;
  }
  .hamburger-menu.open{ opacity:1; visibility:visible; transform:translateY(0); }
  .hamburger-menu a{
    font-family:'League Spartan',sans-serif!important; font-weight:500!important; font-size:20px!important; color:var(--charcoal)!important;
    transition:color .3s; width:fit-content; border:none!important;
  }
  .hamburger-menu a:hover{ color:var(--gold)!important; }

  /* ============ GALLERY — minimal full-bleed slider, in the spirit of big.dk ============ */
  .gallery{
    margin-top:calc(var(--nav-h) + var(--submenu-clearance)); opacity:0; transition:opacity .8s ease .3s;
    position:relative; height:calc(100vh - var(--nav-h) - var(--submenu-clearance)); overflow:hidden;
  }
  .gallery.visible{ opacity:1; }

  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
      scroll-behavior:auto !important;
    }
  }

  /* ---- Listing view: smaller images, vertical scroll, centered on the page ---- */
  
  
  
  
  
  

  /* ============ FOOTER ============ */
  .site-footer{
    background:#fff; padding:64px 44px 34px; text-align:center; border-top:1px solid #e2e2e2;
  }
  .footer-address{
    font-family:'Urbanist'; font-style:normal; font-size:15px; line-height:1.8;
    color:var(--body-text); margin-bottom:18px;
  }
  .footer-contact{
    font-family:'Urbanist'; font-size:15px; color:var(--body-text);
    margin-bottom:40px;
  }
  .footer-contact a{ color:var(--body-text); transition:opacity .3s; }
  .footer-contact a:hover{ color:var(--body-text); opacity:.62; }
  .footer-divider{ margin:0 12px; color:var(--muted); }
  .social-row{
    display:flex; justify-content:center; gap:30px; margin-bottom:34px;
  }
  .social-row a{ color:var(--charcoal); transition:opacity .3s; }
  .social-row a:hover{ color:var(--charcoal); opacity:.62; }
  .social-row svg{ width:20px; height:20px; display:block; }
  .footer-copyright{
    font-family:'Urbanist'; font-size:13px; letter-spacing:.5px; color:var(--muted);
  }

  /* ============ PROJECT VIEW: dedicated horizontal workspace ============ */
  
  

  /* The Work gallery is removed from view while the project story is open. */
  body.project-open .gallery{
    opacity:0 !important;
    visibility:hidden;
    pointer-events:none;
  }
  body.project-open{ overflow:hidden; }

  /* Header and all category submenus always remain above the project. */
  .site-header{ z-index:300; }
  .submenu{
    z-index:340;
    background:rgba(255,255,255,.99);
    padding:14px 18px 16px;
  }
  .hamburger-menu{ z-index:350; }

  .project-topbar{
    min-height:58px;
    padding:0 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:0 0 auto;
    border-bottom:1px solid #ececec;
    background:#fff;
  }
  .project-back{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:14px;
    color:var(--charcoal);
    transition:color .25s ease;
  }
  .project-back:hover{ color:var(--gold); }
  .project-zoomout{
    width:36px;
    height:36px;
    border:1px solid #dedede;
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center;
    font:400 26px/1 Urbanist,sans-serif;
    color:var(--charcoal);
    cursor:pointer;
    transition:border-color .25s ease,color .25s ease,transform .25s ease;
  }
  .project-zoomout:hover{ color:var(--gold); border-color:var(--gold); transform:scale(1.04); }

  

  
  
  
  
  
  
  

  
  
  

  

  
  
  
  
  
  
  
  
  
  
  
  

  /* ============ LIGHTBOX: explicit image enlargement ============ */
  
  
  
  
  
  
  
  /* ============ RESPONSIVE: iPad (≤1024px) ============ */
  @media (max-width:1024px){
    :root{ --nav-h:76px; }
    .hero-logo{ font-size:clamp(56px, 16vw, 120px); }
    .hero.name-shown .hero-logo{ font-size:clamp(20px, 3.6vw, 34px); }
    .site-header{ padding:0 28px; }
    .logo-mini{ }
    .main-nav{ gap:32px; }
    .nav-item > span{ font-size:17px; }
    .nav-item{ padding:28px 0; }
    .hamburger-menu a{ font-size:17px; }
    
    
  }

  /* ============ RESPONSIVE: Mobile (≤600px) ============ */
  @media (max-width:600px){
    :root{ --nav-h:64px; --submenu-clearance:96px; }
    .hero-logo{ font-size:clamp(40px, 20vw, 84px); letter-spacing:1px; }
    .hero.name-shown .hero-logo{ font-size:clamp(15px, 5.2vw, 22px); letter-spacing:0; }
    .site-header{ padding:0 18px; }
    .logo-mini{ }
    /* category bar stays horizontal on mobile too — it just scrolls sideways instead of wrapping */
    .main-nav{ overflow-x:auto; scrollbar-width:none; gap:26px; }
    .main-nav::-webkit-scrollbar{ display:none; }
    .nav-item{ padding:22px 0; flex:0 0 auto; }
    .nav-item > span{ font-size:15px; }
    .submenu{ position:fixed; left:0; right:0; top:var(--nav-h); transform:none; justify-content:center; flex-wrap:wrap; padding:16px 18px; background:transparent; }
    .nav-item.open .submenu{ transform:none; }
    .nav-item:first-child .submenu, .nav-item:last-child .submenu{ left:0; right:0; transform:none; }
    .hamburger-menu{ gap:14px; }
    .hamburger-menu a{ font-size:15px; }
    
    
    
    .project-topbar{ padding:0 18px; min-height:52px; }
    
    
    
    
    
    
    
    
    
    
    
    
  }


  /* v7 — quieter project identity; original vertical Work movement restored */
  
  
  
  
  
  
  
  .project-hint{
    font-size:9px !important;
    letter-spacing:1px;
    margin-top:20px !important;
  }

  
  
  

  

  /* v8 — project remains visually connected to the Work gallery */
  
  
  
  
  
  
  
  .project-back-bottom{
    position:absolute;
    left:calc(40px + clamp(150px,13.5vw,195px) + clamp(14px,2vw,30px));
    bottom:14px;
    z-index:12;
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; letter-spacing:.4px; color:var(--charcoal);
    background:#fff; padding:4px 8px 4px 0;
    transition:opacity .25s ease;
  }
  .project-back-bottom:hover{ color:var(--charcoal); opacity:.58; }
  .project-topbar,.project-zoomout{ display:none !important; }
  @media(max-width:600px){
    
    .project-back-bottom{ left:154px; bottom:11px; font-size:11px; }
  }

  /* v9 — gallery-sized context images and gentler return to Work */
  
  
  
  
  
  
  .project-back-bottom{
    position:static;
    left:auto; bottom:auto;
    margin-top:auto;
    padding:12px 0 0;
    background:transparent;
    align-self:flex-start;
    font-size:11px;
    letter-spacing:.35px;
  }
  
  @media(max-width:600px){
    
    .project-back-bottom{ position:static; margin-top:auto; font-size:10px; padding-top:10px; }
    
  }


  /* v10 OPTION 2 — selected project unfolds inside a continuous Work-page composition */
  body.project-open{ overflow:hidden; }
  body.project-open .gallery{ opacity:0 !important; visibility:hidden; pointer-events:none; }

  
  

  
  
  

  
  
  
  
  
  .project-back-bottom{
    margin-top:auto;
    padding-top:18px;
    font-size:10.5px;
    line-height:1.2;
    align-self:flex-start;
  }

  /* Keep the return control at the end of the project details while
     aligning it precisely with the bottom edge of the image track. */
  
  
  .project-back-bottom{
    align-self:end;
    margin-top:10px;
    padding-bottom:2px;
  }

  

  
  


  /* v11 — align interaction guidance with media and finish details at image baseline */
  
  
  
  .project-back-bottom{
    margin-top:auto;
    padding:0 0 2px;
    align-self:flex-start;
    line-height:1.2;
  }
  
  
  


  /* v12 — scalable, menu-safe, data-driven project system */
  :root{
    --header-safe:calc(var(--nav-h) + 82px);
    --page-pad:clamp(18px,3vw,56px);
    --work-info:clamp(150px,18vw,280px);
  }
  .hero-logo.is-gold .letter,.hero-logo.is-gold .fill{ color:var(--charcoal) !important; }
  .hero-logo .letter.accent,.hero-logo .fill.accent{ color:var(--charcoal); }
  .hero-logo.moving .letter.accent{ color:var(--charcoal); }
  .logo-mini .accent{ color:var(--gold); }

  .gallery{ margin-top:var(--header-safe); height:calc(100vh - var(--header-safe)); }
  
  
  
  
  
  

  
  
  
  
  
  .project-back-bottom{ display:none !important; }
  
  
  
  
  

  
  
  

  /* menus remain usable above every page and every image */
  .site-header{ z-index:900; }
  .submenu{ z-index:920; background:#fff; }
  .hamburger-menu{ z-index:930; background:#fff; padding:22px 0 18px 22px; }
  
  

  @media(max-width:900px){
    :root{ --header-safe:calc(var(--nav-h) + 106px); }
    
    
    
    
  }
  @media(max-width:600px){
    :root{ --header-safe:calc(var(--nav-h) + 112px); }
    .gallery{ height:calc(100svh - var(--header-safe)); }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  }
  @media(min-width:1800px){
    :root{ --page-pad:clamp(56px,5vw,110px); --work-info:clamp(240px,16vw,340px); }
    
    
    
    
  }


  /* v13 — restore brand accents and original Work image scale */
  .hero-logo.is-gold .letter,
  .hero-logo.is-gold .fill{ color:var(--gold) !important; }
  .hero-logo .letter.accent,
  .hero-logo .fill.accent,
  .hero-logo.moving .letter.accent,
  .hero-logo.moving .fill.accent{ color:var(--gold) !important; }
  .logo-mini .accent{ color:var(--gold) !important; }

  /* Keep the original Work-page image dimensions; move only identity to the right. */
  
  
  
  
  
  

  /* Context images surrounding an open project match the Work image size. */
  
  

  
  
  


  /* v14 — left-side Work identity and a single, clear horizontal navigation system */
  
  
  
  
  

  /* Keep the native horizontal line as a quiet position indicator. The written
     instruction remains the primary navigation cue, so no second control is added. */
  
  
  
  
  
  

  
  


  /* v15 — golden-ratio Work frames, active-project emphasis, seamless intro */
  
  
  
  
  

  /* v16 — compact Work identity stack and unchanged context-card scale */
  
  
  
  
  

  /* Keep the neighbouring Work cards exactly at their normal gallery-image size
     while only the selected project opens into the larger horizontal workspace. */
  
  

  /* Tighten the opened-project information into one compact vertical group. */
  
  
  
  

  
  


  /* v17 — compact paragraph-style Work caption, attached closely to its image */
  
  
  
  
  
  
  
  

  /* v3.0 FINAL — reveal sequence and full Work-card context around the horizontal story */
  .site-header{ transition:opacity .65s ease, transform .65s cubic-bezier(.16,1,.3,1); }
  .gallery{ transition:opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1); transform:translateY(16px); }
  .gallery.visible{ transform:translateY(0); }

  
  
  
  .context-monogram{
    width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(184,155,94,.65);
    font:500 10px/1 'League Spartan',sans-serif; color:var(--charcoal); margin-bottom:7px;
  }
  
  .context-details{ max-width:168px; font-size:10px; line-height:1.38; letter-spacing:.6px; color:var(--gold); }
  .context-details span{ display:block; }
  
  

  @media(max-width:900px){
    
    .context-details { max-width:118px; }
  }
  @media(max-width:600px){
    
    
    .context-monogram{ width:28px; height:28px; margin-bottom:6px; font-size:8px; }
    
    .context-details{ max-width:82px; font-size:8.5px; line-height:1.35; letter-spacing:.35px; }
    
    
  }

  /* v3.1 FINAL POLISH — clean canvas and compact left project information */
  .site-header{ border-bottom:0 !important; box-shadow:none !important; }
  .site-footer{ border-top:0 !important; box-shadow:none !important; }
  

  /* Align the opened-project information with the TCA logo at 40px and
     give the horizontal story the maximum useful width. */
  
  
  
  
  
  
  
  
  

  
  


  /* v3.2 — compact Work captions matching the approved reference */
  
  
  
  
  
  
  
  
  
  


  /* v3.4 — one-stage logo handoff and denser golden-ratio Work overview */
  /* During travel, the letters remain anchored to the left edge of the full wordmark.
     This prevents TCA from briefly centring near the navigation before the persistent logo appears. */
  .hero-logo.moving{
    justify-content:flex-start !important;
    align-items:baseline !important;
  }

  /* Show three to four projects in the Work viewport while preserving φ (1.618:1). */
  
  
  
  

  
  
  


/* WordPress integration — preserves the approved v3.5 geometry */
body.admin-bar .hero{top:32px;}
body.admin-bar .site-header{top:32px;}
body.admin-bar .hamburger-menu{top:calc(var(--nav-h) + 32px);}


.tca-v35-root, .tca-v35-root *{box-sizing:border-box;}
.tca-v35-root button,.tca-v35-root a{font-family:inherit;}
.tca-v35-root .site-header,.tca-v35-root .site-footer{max-width:none;margin:0;}
.tca-v35-root .site-header a,.tca-v35-root .site-footer a{text-decoration:none;}
.tca-v35-root img{max-width:none;}
.tca-empty{padding:80px 40px;font:500 22px/1.5 Urbanist,sans-serif;color:#3D3D3D;}
@media(max-width:782px){
 body.admin-bar .hero{top:46px;}
 body.admin-bar .site-header{top:46px;}
 body.admin-bar .hamburger-menu{top:calc(var(--nav-h) + 46px);}
 
 
}

/* v3.5.1 — Elementor Canvas containment, unboxed intro, reliable footer */
/* Let the approved prototype occupy the real viewport even when inserted through
   Elementor's Shortcode widget. */
.elementor-widget-shortcode:has(.tca-v35-root),
.elementor-widget-shortcode:has(.tca-v35-root) > .elementor-widget-container,
.elementor-shortcode:has(.tca-v35-root){
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.tca-v35-root{
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:var(--body-text) !important;
}
/* Elementor/global button styles must never draw a box around the intro mark. */
.tca-v35-root .hero-logo,
.tca-v35-root .hero-logo:hover,
.tca-v35-root .hero-logo:focus,
.tca-v35-root .hero-logo:active,
.tca-v35-root .hero-logo:focus-visible{
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  color:inherit !important;
  line-height:1 !important;
}
.tca-v35-root .hero{
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
/* Preserve the approved compact footer despite Elementor Site Settings. */
.tca-v35-root .site-footer{
  width:100% !important;
  margin:0 !important;
  padding:38px 44px 24px !important;
  border:0 !important;
  border-top:1px solid #e2e2e2 !important;
  background:#fff !important;
  box-shadow:none !important;
  text-align:center !important;
  overflow:hidden !important;
}
.tca-v35-root .footer-address,
.tca-v35-root .footer-contact,
.tca-v35-root .footer-contact a,
.tca-v35-root .footer-copyright{
  font-family:'Urbanist',sans-serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  color:var(--body-text) !important;
  white-space:normal !important;
}
.tca-v35-root .footer-address{
  margin:0 0 10px !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.tca-v35-root .footer-contact{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:0 !important;
  margin:0 0 22px !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.tca-v35-root .footer-contact a{
  display:inline !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.5 !important;
  overflow-wrap:anywhere !important;
}
.tca-v35-root .footer-divider{ margin:0 10px !important; font-size:13px !important; }
.tca-v35-root .footer-copyright{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.4 !important;
  color:var(--muted) !important;
}
@media(max-width:600px){
  .tca-v35-root .site-footer{ padding:30px 18px 20px !important; }
  .tca-v35-root .footer-contact{ flex-direction:column !important; gap:4px !important; }
  .tca-v35-root .footer-divider{ display:none !important; }
}

/* ===== v3.5.2 Elementor isolation ===== */
.tca-v35-root .hero.name-shown .hero-logo,
.tca-v35-root .hero-logo.moving,
.tca-v35-root .hero-logo.collapsing,
.tca-v35-root .hero-logo.moving .letter,
.tca-v35-root .hero-logo.moving .fill{
  font-family:'League Spartan',sans-serif !important;
  font-weight:500 !important;
  line-height:1 !important;
  text-transform:none !important;
  font-style:normal !important;
  font-variation-settings:normal !important;
}
/* Elementor must not restyle the hamburger button. */
.tca-v35-root .hamburger,
.tca-v35-root .hamburger:hover,
.tca-v35-root .hamburger:focus,
.tca-v35-root .hamburger:active{
  position:relative !important;
  display:block !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  color:transparent !important;
  line-height:0 !important;
  font-size:0 !important;
  overflow:visible !important;
}
.tca-v35-root .hamburger span{
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  display:block !important;
  width:34px !important;
  height:2px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#3D3D3D !important;
  box-shadow:none !important;
  opacity:1;
}
.tca-v35-root .hamburger span:nth-child(1){top:0 !important;}
.tca-v35-root .hamburger span:nth-child(2){top:10px !important;}
.tca-v35-root .hamburger span:nth-child(3){top:20px !important;}
.tca-v35-root .hamburger.open span:nth-child(1){transform:translateY(10px) rotate(45deg) !important;}
.tca-v35-root .hamburger.open span:nth-child(2){opacity:0 !important;}
.tca-v35-root .hamburger.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg) !important;}
/* Approved footer is seamless: no silver divider or inherited Elementor border. */
.tca-v35-root .site-footer{
  border:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  background:#fff !important;
}
.tca-v35-root .site-footer::before,
.tca-v35-root .site-footer::after{display:none !important;content:none !important;}
/* Preserve card geometry even when a project has no image yet. */

@media(max-width:900px){
  .tca-v35-root .logo-mini,.tca-v35-root .logo-mini span{font-size:28px !important;}
}
@media(max-width:600px){
  .tca-v35-root .logo-mini,.tca-v35-root .logo-mini span{font-size:24px !important;}
}

/* v3.5.3 — permanent submenu clearance, compact controls, flexible story composer */
:root{--submenu-clearance:86px;}
.gallery{margin-top:calc(var(--nav-h) + var(--submenu-clearance));height:calc(100vh - var(--nav-h) - var(--submenu-clearance));}

.site-header{border-bottom:0 !important;}
.submenu{min-height:var(--submenu-clearance);align-items:flex-start;background:#fff !important;padding:15px 18px 18px !important;}
.site-footer{border-top:0 !important;}


.tca-back-to-top{
  all:unset;box-sizing:border-box;position:fixed;right:32px;bottom:28px;z-index:210;
  width:34px;height:34px;border:1px solid rgba(61,61,61,.38);border-radius:50%;
  background:rgba(255,255,255,.94);color:var(--charcoal);display:grid;place-items:center;
  font:400 17px/1 'Urbanist',sans-serif;cursor:pointer;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.tca-back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.tca-back-to-top:hover{color:var(--gold);border-color:var(--gold);}


.project-text-panel{width:100%;max-width:410px;}

.project-text-panel h3{margin:0 0 18px;font:600 clamp(22px,2vw,32px)/1.15 'League Spartan',sans-serif;color:var(--charcoal);}
.project-rich-text{font-size:16px;line-height:1.72;color:var(--body-text);}
.project-rich-text p{margin:0 0 1em;}


@media(max-width:600px){
  :root{--submenu-clearance:112px;}
  .tca-back-to-top{right:18px;bottom:18px;width:32px;height:32px;}
  
  
  
}
/* v3.5.4 — per-image editorial headings */


.project-image-heading h3{margin:0;font-family:"League Spartan",sans-serif;font-size:clamp(18px,1.5vw,25px);font-weight:600;line-height:1.05;color:var(--charcoal)}


@media(max-width:760px){.project-image-heading h3{font-size:18px}}


/* v3.5.5 — approved header weight, compact submenu, full portrait images, anchored return */
:root{--submenu-clearance:68px;}
.tca-v35-root .logo-mini,
.tca-v35-root .logo-mini span,
.tca-v35-root .hero-logo.moving,
.tca-v35-root .hero-logo.moving .letter,
.tca-v35-root .hero-logo.moving .fill{
  font-weight:700 !important;
}
.tca-v35-root .submenu{
  min-height:var(--submenu-clearance) !important;
  padding:10px 14px 12px !important;
  align-items:flex-start !important;
}
.tca-v35-root .gallery{
  margin-top:calc(var(--nav-h) + var(--submenu-clearance)) !important;
  height:calc(100vh - var(--nav-h) - var(--submenu-clearance)) !important;
}

body.admin-bar .tca-v35-root .gallery{
  margin-top:calc(var(--nav-h) + var(--submenu-clearance) + 32px) !important;
  height:calc(100vh - var(--nav-h) - var(--submenu-clearance) - 32px) !important;
}


@media(max-width:782px){
  body.admin-bar .tca-v35-root .gallery{
    margin-top:calc(var(--nav-h) + var(--submenu-clearance) + 46px) !important;
    height:calc(100vh - var(--nav-h) - var(--submenu-clearance) - 46px) !important;
  }
  
}
@media(max-width:600px){
  :root{--submenu-clearance:92px;}
  
}

/* v3.5.6 — aligned project controls, tighter submenu, graphic monograms, clean top arrow */
:root{--submenu-clearance:48px;}
.tca-v35-root .submenu{
  min-height:var(--submenu-clearance)!important;
  padding:4px 12px 7px!important;
  align-items:flex-start!important;
  gap:clamp(12px,1.7vw,28px)!important;
}
.tca-v35-root .gallery{
  margin-top:calc(var(--nav-h) + var(--submenu-clearance))!important;
  height:calc(100vh - var(--nav-h) - var(--submenu-clearance))!important;
}

body.admin-bar .tca-v35-root .gallery{
  margin-top:calc(var(--nav-h) + var(--submenu-clearance) + 32px)!important;
  height:calc(100vh - var(--nav-h) - var(--submenu-clearance) - 32px)!important;
}


.tca-v35-root .tca-monogram-svg{display:block;width:100%;height:100%;}
.tca-v35-root .context-monogram {
  padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important;
  color:transparent!important;line-height:0!important;
}


.tca-v35-root .tca-back-to-top{
  right:max(18px,calc((100vw - min(920px,72vw))/2))!important;
  bottom:22px!important;
  width:auto!important;height:auto!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;padding:0!important;
  font:700 27px/1 'League Spartan',sans-serif!important;color:var(--charcoal)!important;
}
.tca-v35-root .tca-back-to-top:hover{color:var(--gold)!important;transform:translateY(-2px)!important;}


@media(max-width:782px){
  body.admin-bar .tca-v35-root .gallery{
    margin-top:calc(var(--nav-h) + var(--submenu-clearance) + 46px)!important;
    height:calc(100vh - var(--nav-h) - var(--submenu-clearance) - 46px)!important;
  }
  
}
@media(max-width:600px){
  :root{--submenu-clearance:72px;}
  
  
  
  
  
  
  
  .tca-v35-root .tca-back-to-top{right:16px!important;bottom:18px!important;font-size:24px!important;}
}


/* v3.5.7 — locked menu clearance, persistent project scrolling, refined controls */
:root{
  --submenu-clearance:38px;
  --header-safe:calc(var(--nav-h) + var(--submenu-clearance));
}

/* Keep the submenu close to its parent menu and reserve exactly the same space
   below the header so no Work or project image can pass beneath it. */
.submenu{
  top:calc(100% - 4px) !important;
  padding:5px 10px 7px !important;
  gap:22px !important;
  line-height:1.1 !important;
}
.gallery{margin-top:var(--header-safe) !important;height:calc(100vh - var(--header-safe)) !important;}


@media(max-width:600px){
  :root{--submenu-clearance:58px;}
  .submenu{top:var(--nav-h) !important;padding:8px 14px !important;gap:14px !important;}
}

/* Smaller but more decisive hamburger. */
.hamburger{width:28px !important;height:18px !important;}
.hamburger span{height:3px !important;border-radius:0 !important;}
.hamburger span:nth-child(1){top:0 !important;}
.hamburger span:nth-child(2){top:7.5px !important;}
.hamburger span:nth-child(3){top:15px !important;}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg) !important;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg) !important;}

/* The opened project is a vertically scrollable continuous canvas. */
body.project-open{overflow:hidden !important;}


/* Guidance and return control align to the exact image baseline. */


/* Bold arrowhead located beside the Work image area, never inside the footer. */
.tca-back-to-top{
  position:fixed !important;
  left:calc(50% + 215px) !important;
  right:auto !important;
  bottom:26px !important;
  z-index:88 !important;
  width:auto !important;height:auto !important;
  padding:0 !important;margin:0 !important;
  border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;
  color:var(--charcoal) !important;
  font:900 24px/1 'League Spartan',sans-serif !important;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.tca-back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.tca-back-to-top:hover{color:var(--gold) !important;transform:translateY(-2px);}
@media(max-width:900px){.tca-back-to-top{left:auto !important;right:24px !important;bottom:22px !important;}}

/* Footer brand follows the opening identity: charcoal name with gold Architects. */
.footer-address .footer-brand-main,
.footer-address .footer-brand-accent{
  font-family:'League Spartan',sans-serif;font-weight:600;letter-spacing:.2px;
}
.footer-address .footer-brand-main{color:var(--charcoal);}
.footer-address .footer-brand-accent{color:var(--gold);}
.site-footer{border:0 !important;box-shadow:none !important;}


/* ===== v3.5.8 final interaction and alignment corrections ===== */
:root{--submenu-clearance:74px!important;}
.tca-v35-root .nav-item{padding:26px 0 20px!important;}
.tca-v35-root .submenu{
  top:calc(100% - 12px)!important;
  padding:4px 14px 10px!important;
  gap:22px!important;
  background:#fff!important;
}
.tca-v35-root .gallery{margin-top:calc(var(--nav-h) + var(--submenu-clearance))!important;}


.tca-v35-root .hamburger{width:28px!important;height:18px!important;}
.tca-v35-root .hamburger span{height:3px!important;border-radius:0!important;}
.tca-v35-root .hamburger span:nth-child(1){top:0!important;}
.tca-v35-root .hamburger span:nth-child(2){top:7.5px!important;}
.tca-v35-root .hamburger span:nth-child(3){top:15px!important;}
.tca-v35-root .hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)!important;}
.tca-v35-root .hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)!important;}


.tca-v35-root .site-footer{border-top:0!important;}
.tca-v35-root .footer-address{font-size:18px!important;line-height:1.55!important;}
.tca-v35-root .footer-brand-main,.tca-v35-root .footer-brand-accent{font-family:'League Spartan',sans-serif!important;font-weight:700!important;font-size:20px!important;}


.tca-v35-root .tca-back-to-top{
  position:relative!important;
  inset:auto!important;
  align-self:center!important;
  width:44%!important;
  max-width:640px!important;
  min-height:42px!important;
  margin:-44px 0 18px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--charcoal)!important;
  font:900 30px/1 'League Spartan',sans-serif!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  cursor:pointer!important;
}
.tca-v35-root .tca-back-to-top:hover{color:var(--gold)!important;transform:translateY(-2px)!important;}

body.project-open{overflow:hidden!important;}


@media(max-width:800px){
  
  
  .tca-v35-root .tca-back-to-top{width:calc(100% - 36px)!important;}
}


/* v3.5.9 — architectural hamburger-to-X, colour locked */
.tca-v35-root .hamburger,
.tca-v35-root .hamburger:hover,
.tca-v35-root .hamburger:focus,
.tca-v35-root .hamburger:active{
  width:28px!important; height:18px!important; padding:0!important; margin:0!important;
  background:transparent!important; border:0!important; box-shadow:none!important; outline:none!important;
}
.tca-v35-root .hamburger span,
.tca-v35-root .hamburger:hover span,
.tca-v35-root .hamburger:focus span,
.tca-v35-root .hamburger:active span{
  left:0!important; width:28px!important; height:3px!important;
  background:#3D3D3D!important; border-radius:0!important; transform-origin:center center!important;
  transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .18s ease!important;
}
.tca-v35-root .hamburger span:nth-child(1){top:0!important;}
.tca-v35-root .hamburger span:nth-child(2){top:7.5px!important;}
.tca-v35-root .hamburger span:nth-child(3){top:15px!important;}
.tca-v35-root .hamburger.open span:nth-child(1){transform:translateY(10px) rotate(45deg)!important;}
.tca-v35-root .hamburger.open span:nth-child(2){opacity:0!important; transform:scaleX(0)!important;}
.tca-v35-root .hamburger.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg)!important;}


/* ===============================================================
   TCA FINAL 3.6.0 — AUTHORITATIVE LAYER
   Baseline: approved v3.5.9 + user's Work sketch + BIG interaction
   =============================================================== */
:root{
  --tca-charcoal:#3D3D3D;
  --tca-gold:#B89B5E;
  --tca-white:#FFFFFF;
  --tca-header-h:66px;
  --tca-nav-clearance:146px;
  --tca-grid-w:1120px;
  --tca-gap:18px;
}

/* Elementor isolation / continuous white page */
.tca-v35-root{background:#fff!important;color:var(--tca-charcoal)!important;overflow:visible!important;}
.tca-v35-root,.tca-v35-root *{box-sizing:border-box}
.tca-v35-root img{max-width:none}

/* HERO — same T/C/A weight and proportion throughout */
.tca-v35-root .hero-logo{
  font-family:'League Spartan',sans-serif!important;
  font-weight:700!important;
  letter-spacing:2px!important;
  background:transparent!important;
  background-color:transparent!important;
  padding:0!important;
  border-radius:0!important;
  min-height:0!important;
  min-width:0!important;
}
.tca-v35-root .hero.name-shown .hero-logo{
  font-weight:700!important;
  letter-spacing:2px!important;
}
.tca-v35-root .hero-logo .letter,
.tca-v35-root .hero-logo .fill{
  font-weight:700!important;
}
.tca-v35-root .hero-logo .letter.accent,
.tca-v35-root .hero-logo .fill.accent{color:var(--tca-gold)!important}

/* HEADER — fixed, extreme-left/right, horizontal menu centred to Work axis */
.tca-v35-root .site-header{
  position:fixed!important;left:0!important;right:0!important;top:0!important;
  width:100vw!important;height:var(--tca-header-h)!important;
  padding:0 18px!important;
  display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;
  background:#fff!important;border:0!important;box-shadow:none!important;z-index:1000!important;
}
body.admin-bar .tca-v35-root .site-header{top:32px!important}
.tca-v35-root .logo-mini{
  font-family:'League Spartan',sans-serif!important;
  font-weight:700!important;!important;letter-spacing:2px!important;
}
.tca-v35-root .main-nav{
  width:min(640px,62vw)!important;display:flex!important;justify-content:space-between!important;gap:24px!important;
}
.tca-v35-root .nav-item{position:relative!important;padding:20px 0!important}
.tca-v35-root .nav-item>span{
  font-family:'League Spartan',sans-serif!important;font-weight:500!important;font-size:20px!important;
}
.tca-v35-root .hamburger{width:34px!important;height:22px!important}
.tca-v35-root .hamburger span{height:3px!important}
.tca-v35-root .hamburger span:nth-child(1){top:0!important}
.tca-v35-root .hamburger span:nth-child(2){top:10px!important}
.tca-v35-root .hamburger span:nth-child(3){top:20px!important}

/* Permanent white navigation clearance — menus never push or visually overlap images */
.tca-v35-root .gallery{
  margin-top:var(--tca-nav-clearance)!important;
  height:auto!important;min-height:calc(100vh - var(--tca-nav-clearance))!important;overflow:visible!important;
}
.tca-v35-root .submenu{
  position:fixed!important;top:var(--tca-header-h)!important;left:50%!important;right:auto!important;
  transform:translateX(-50%) translateY(6px)!important;
  display:flex!important;gap:25px!important;white-space:nowrap!important;
  padding:14px 20px!important;background:#fff!important;border:0!important;box-shadow:none!important;z-index:990!important;
}
body.admin-bar .tca-v35-root .submenu{top:calc(var(--tca-header-h) + 32px)!important}
.tca-v35-root .nav-item.open .submenu{transform:translateX(-50%) translateY(0)!important}
.tca-v35-root .submenu a{font:400 15px/1.2 'Urbanist',sans-serif!important}
.tca-v35-root .hamburger-menu{
  position:fixed!important;top:var(--tca-header-h)!important;
  padding:18px 0 20px 28px!important;background:#fff!important;border:0!important;box-shadow:none!important;z-index:995!important;
}
body.admin-bar .tca-v35-root .hamburger-menu{top:calc(var(--tca-header-h) + 32px)!important}

/* WORK GRID — user's H/V sketch. */


/* left project: info outside-left, image toward centre */


/* right project: image toward centre, info outside-right */


/* Keep the vertical image equal to two horizontal row heights + one gap */


/* INLINE PROJECT EXPANSION — BIG-style behaviour:
   project opens within Work; vertical scrolling still reaches other projects. */


body.project-open .tca-v35-root .gallery{opacity:1!important;visibility:visible!important;pointer-events:auto!important}


/* Special block labels */


/* Back-to-top: single control above footer, right-aligned to grid */
.tca-v35-root .tca-back-to-top{display:none!important}

/* FOOTER — outer-to-outer aligned with Work picture grid, centred and compact */
.tca-v35-root .site-footer{
  position:relative!important;width:min(var(--tca-grid-w),calc(100vw - 80px))!important;
  margin:58px auto 0!important;padding:0 0 26px!important;background:#fff!important;border:0!important;box-shadow:none!important;text-align:left!important;
}
.tca-v35-root .footer-back-top{
  position:absolute!important;right:0!important;top:-46px!important;border:0!important;background:none!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;gap:7px!important;color:var(--tca-charcoal)!important;cursor:pointer!important;font:400 10px/1 'Urbanist',sans-serif!important;
}
.tca-v35-root .footer-chevron{font-size:20px!important;line-height:1!important;font-weight:700!important;}
.tca-v35-root .footer-brand{
  margin:0 0 18px!important;font:500 clamp(22px,2vw,31px)/1.05 'League Spartan',sans-serif!important;letter-spacing:-.02em!important;
}
.tca-v35-root .footer-brand-main{color:var(--tca-charcoal)!important}
.tca-v35-root .footer-brand-accent{color:var(--tca-gold)!important}
.tca-v35-root .footer-grid{
  display:grid!important;grid-template-columns:1fr 1fr 1.35fr 1.65fr!important;gap:18px 28px!important;align-items:start!important;
}
.tca-v35-root .footer-grid>div{display:grid!important;gap:5px!important;font:400 12px/1.5 'Urbanist',sans-serif!important;color:var(--tca-charcoal)!important}
.tca-v35-root .footer-label{font-size:9px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--tca-gold)!important}
.tca-v35-root .footer-grid a{color:var(--tca-charcoal)!important}
.tca-v35-root .footer-social{display:flex!important;gap:13px!important;flex-wrap:wrap!important}
.tca-v35-root .social-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important;color:var(--tca-charcoal)!important;transition:color .25s ease!important}
.tca-v35-root .social-icon:hover{color:var(--tca-gold)!important}
.tca-v35-root .social-icon svg{width:17px!important;height:17px!important;display:block!important;fill:currentColor!important;stroke:currentColor!important}
.tca-v35-root .social-icon svg rect,.tca-v35-root .social-icon svg circle{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
.tca-v35-root .social-icon svg path{fill:currentColor!important;stroke:none!important}
.tca-v35-root .footer-copyright{margin-top:18px!important;font:400 13px/1.4 'Urbanist',sans-serif!important;color:#888!important}

/* no silver rules anywhere */
.tca-v35-root .site-header, .tca-v35-root .site-footer {border:0!important}
.tca-v35-root .site-header::before,.tca-v35-root .site-header::after,.tca-v35-root .site-footer::before,.tca-v35-root .site-footer::after{display:none!important}

/* responsive */
@media(max-width:1050px){
  
  
  
  
  .tca-v35-root .site-footer{width:calc(100vw - 40px)!important}
}
@media(max-width:760px){
  :root{--tca-nav-clearance:132px}
  .tca-v35-root .main-nav{display:none!important}
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .tca-v35-root .site-footer{width:calc(100vw - 28px)!important}
  .tca-v35-root .footer-grid{grid-template-columns:1fr!important}
}


/* ==================================================================
   TCA FINAL 3.6.1 — AUTHORITATIVE CORRECTION LAYER
   Fixes only: menu/submenu overlap, true H/V Work geometry,
   inline project detail, footer flow/alignment, compact spacing.
   ================================================================== */

:root{
  --tca-charcoal:#3D3D3D;
  --tca-gold:#B89B5E;
  --tca-white:#FFFFFF;
  --tca-header-h:82px;
  --tca-submenu-h:34px;
  --tca-grid-w:1040px;
  --tca-gap:16px;
  /* --nav-h and --tca-header-h were two separate variables that had drifted
     out of sync (88px vs 82px) — the actual rendered header height always
     came from --tca-header-h, but a lot of other code (grid clearance,
     submenu positioning, mobile breakpoints) referenced --nav-h instead,
     which is what caused several rounds of "I fixed the gap but nothing
     changed" bugs. Force --nav-h to always equal the real value here, once,
     so every consumer of either variable is now guaranteed consistent. */
  --nav-h:var(--tca-header-h);
}

/* ---------- Header / main menu ---------- */
/* .site-header positioning/geometry now lives in ONE place only: the
   "TCA FINAL HEADER GEOMETRY" block at the end of this file, using ID
   selectors that win regardless of source order or wrapper nesting. This
   old class-based version was fully redundant with it and has been
   removed rather than left to keep contradicting it. */

.tca-v35-root .logo-mini{
  font-family:'League Spartan',sans-serif!important;
  font-weight:700!important;
  font-size:32px!important;
  letter-spacing:2px!important;
}
.tca-v35-root .main-nav{
  width:min(620px,62vw)!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:28px!important;
}
.tca-v35-root .nav-item{
  position:relative!important;
  padding:0!important;
  height:var(--tca-header-h)!important;
  display:flex!important;
  align-items:center!important;
}
.tca-v35-root .nav-item>span{
  font:500 19px/1 'League Spartan',sans-serif!important;
  white-space:nowrap!important;
}
.tca-v35-root .hamburger{
  width:34px!important;height:36px!important;
  overflow:visible!important;
}

/* Compact submenu immediately below main menu:
   approx. 8px visual gap, never over project images. */
.tca-v35-root .submenu{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:58px!important;
  transform:translateX(-50%) translateY(3px)!important;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  min-height:var(--tca-submenu-h)!important;
  padding:0 16px!important;
  white-space:nowrap!important;
  background:#fff!important;
  border:0!important;box-shadow:none!important;
  z-index:1995!important;
}
body.admin-bar .tca-v35-root .submenu{top:90px!important}
.tca-v35-root .nav-item.open .submenu{
  transform:translateX(-50%) translateY(0)!important;
}
.tca-v35-root .submenu a{
  font:400 13.5px/1 'Urbanist',sans-serif!important;
  color:var(--tca-charcoal)!important;
}
.tca-v35-root .submenu a:hover{color:var(--tca-gold)!important}

/* Hamburger menu also occupies only the white navigation zone. */
.tca-v35-root .hamburger-menu{
  position:fixed!important;
  top:58px!important;
  padding:8px 0 12px 24px!important;
  background:#fff!important;
  border:0!important;box-shadow:none!important;
  z-index:1996!important;
}
body.admin-bar .tca-v35-root .hamburger-menu{top:90px!important}

/* Permanent white clearance under the header/navigation.
   Because it is always there, menus opening do not move the Work grid. */
.tca-v35-root .gallery{
  margin-top:128px!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

/* ---------- Work layout ---------- */

/* Grid aligned with horizontal menu axis and footer. */


/* User's fixed orientation sequence decides card height. */


/* Info is outside image, aligned top to its own project. */


/* Critical orientation fix:
   IMAGE BOX itself is H or V, and image is never destructively cropped. */


/* ---------- Inline project detail (BIG-like continuous Work field) ---------- */


/* Do NOT hide the Work field while a project is open. */
body.project-open .tca-v35-root .gallery {
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  overflow:visible!important;
}

/* Project detail is a full-width row in the same grid. */


/* ---------- Footer ---------- */

/* Footer can never overlap Work because it is in normal document flow.
   Its outer edges align exactly with the Work grid. */
.tca-v35-root .site-footer{
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:min(var(--tca-grid-w),calc(100vw - 96px))!important;
  margin:44px auto 0!important;
  padding:0 0 24px!important;
  background:#fff!important;
  border:0!important;box-shadow:none!important;
  z-index:auto!important;
}
.tca-v35-root .footer-back-top{
  position:absolute!important;
  right:0!important;top:-38px!important;
}
.tca-v35-root .footer-brand{
  margin:0 0 14px!important;
  font:500 clamp(21px,1.8vw,28px)/1.05 'League Spartan',sans-serif!important;
}
.tca-v35-root .footer-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.2fr 1.5fr!important;
  gap:14px 24px!important;
}
.tca-v35-root .footer-copyright{
  margin-top:14px!important;
}
.tca-v35-root .footer-social{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.tca-v35-root .social-icon{
  width:22px!important;height:22px!important;
  color:var(--tca-charcoal)!important;
}
.tca-v35-root .social-icon:hover{color:var(--tca-gold)!important}

/* No lines */
.tca-v35-root .site-header, .tca-v35-root .site-footer {
  border:0!important;
}

/* Responsive */
@media(max-width:1100px){
  .tca-v35-root .site-footer {
    width:calc(100vw - 40px)!important;
  }
  
  
  
}
@media(max-width:760px){
  .tca-v35-root .main-nav{display:none!important}
  .tca-v35-root .gallery{margin-top:96px!important}
  
  
  
  
  
  
  
  
  
  
  .tca-v35-root .site-footer{
    width:calc(100vw - 28px)!important;
  }
  .tca-v35-root .footer-grid{
    grid-template-columns:1fr!important;
  }
}


/* ================================================================
   TCA FINAL 3.6.2 — compact menu/submenu + centred footer lock
   ================================================================ */

/* MAIN HORIZONTAL MENU — tighter spacing */
.tca-v35-root .main-nav{
  width:min(560px,56vw)!important;
  gap:18px!important;
}
.tca-v35-root .nav-item>span{
  font-size:18px!important;
}

/* SUBMENU — immediately below primary row, much tighter */
.tca-v35-root .submenu{
  top:54px!important;
  min-height:28px!important;
  gap:15px!important;
  padding:0 10px!important;
  transform:translateX(-50%) translateY(1px)!important;
}
body.admin-bar .tca-v35-root .submenu{
  top:86px!important;
}
.tca-v35-root .nav-item.open .submenu{
  transform:translateX(-50%) translateY(0)!important;
}
.tca-v35-root .submenu a{
  font-size:12.5px!important;
  line-height:1!important;
}

/* Reduce reserved white navigation zone now that menu is more compact.
   Still leaves enough clearance to prevent menu/image overlap. */
.tca-v35-root .gallery{
  margin-top:112px!important;
}

/* HAMBURGER MENU — compact but still within white zone */
.tca-v35-root .hamburger-menu{
  top:54px!important;
  padding:5px 0 9px 20px!important;
}
body.admin-bar .tca-v35-root .hamburger-menu{
  top:86px!important;
}

/* FOOTER — explicitly centred and aligned to Work grid width */
.tca-v35-root .site-footer{
  width:min(var(--tca-grid-w),calc(100vw - 96px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:left!important;
}

/* Keep footer contents visually centred within same project-grid datum */
.tca-v35-root .footer-brand,
.tca-v35-root .footer-grid,
.tca-v35-root .footer-copyright{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile */
@media(max-width:760px){
  .tca-v35-root .gallery{margin-top:94px!important}
}


/* ================================================================
   TCA 3.6.3 — FOOTER-ONLY CORRECTION
   No changes to menu, image layout, animation or project behaviour.
   ================================================================ */
.tca-v35-root .gallery{position:relative!important;display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;}


.tca-v35-root .site-footer{position:relative!important;display:block!important;float:none!important;clear:both!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;width:min(var(--tca-grid-w),calc(100vw - 96px))!important;margin:56px auto 0!important;padding:0 0 24px!important;background:#fff!important;z-index:1!important;}
.tca-v35-root .site-footer,.tca-v35-root .footer-brand,.tca-v35-root .footer-grid,.tca-v35-root .footer-copyright{max-height:none!important;overflow:visible!important;}
.tca-v35-root .footer-back-top{position:absolute!important;top:-38px!important;right:0!important;left:auto!important;}
@media(max-width:1100px){.tca-v35-root .site-footer{width:calc(100vw - 40px)!important;}}
@media(max-width:760px){.tca-v35-root .site-footer{width:calc(100vw - 28px)!important;}}


/* ================================================================
   TCA 3.6.4 — COMPACT CENTRED FOOTER ONLY
   ================================================================ */
.tca-v35-root .site-footer{
  position:relative!important;
  width:min(var(--tca-grid-w),calc(100vw - 96px))!important;
  margin:48px auto 0!important;
  padding:0 0 18px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
.tca-v35-root .footer-brand{
  margin:0 0 12px!important;
  font:500 clamp(21px,1.75vw,28px)/1.05 'League Spartan',sans-serif!important;
}
.tca-v35-root .footer-brand-main{color:var(--tca-charcoal)!important}
.tca-v35-root .footer-brand-accent{color:var(--tca-gold)!important}

.tca-v35-root .footer-compact-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px 22px!important;
  width:100%!important;
}
.tca-v35-root .footer-item{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  font:400 11.5px/1.35 'Urbanist',sans-serif!important;
  color:var(--tca-charcoal)!important;
}
.tca-v35-root .footer-item a{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--tca-charcoal)!important;
  text-decoration:none!important;
  transition:color .22s ease!important;
}
.tca-v35-root .footer-item a:hover{color:var(--tca-gold)!important}

.tca-v35-root .footer-icon{
  width:16px!important;height:16px!important;
  display:grid!important;place-items:center!important;
  flex:0 0 16px!important;color:var(--tca-charcoal)!important;
}
.tca-v35-root .footer-icon svg{
  width:15px!important;height:15px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}

.tca-v35-root .footer-social-wrap{margin-left:auto!important}
.tca-v35-root .footer-social{
  display:flex!important;align-items:center!important;gap:11px!important;flex-wrap:wrap!important;
}
.tca-v35-root .social-icon{
  width:21px!important;height:21px!important;display:grid!important;place-items:center!important;
  color:var(--tca-charcoal)!important;transition:color .22s ease!important;
}
.tca-v35-root .social-icon:hover{color:var(--tca-gold)!important}
.tca-v35-root .social-icon svg{width:16px!important;height:16px!important}

.tca-v35-root .footer-copyright{
  width:100%!important;
  margin:10px auto 0!important;
  text-align:center!important;
  font:400 10px/1.2 'Urbanist',sans-serif!important;
  color:#8A8A8A!important;
}

.tca-v35-root .footer-back-top{
  position:absolute!important;
  right:0!important;top:-34px!important;
}

@media(max-width:900px){
  .tca-v35-root .footer-compact-row{gap:10px 16px!important}
  .tca-v35-root .footer-social-wrap{margin-left:0!important}
}
@media(max-width:760px){
  .tca-v35-root .site-footer{width:calc(100vw - 28px)!important}
  .tca-v35-root .footer-compact-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}


/* TCA 3.6.6 — approved compact one-line footer */
.tca-v35-root .site-footer{position:relative!important;display:block!important;width:min(var(--tca-grid-w),calc(100vw - 96px))!important;margin:46px auto 0!important;padding:0 0 16px!important;background:#fff!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.tca-v35-root .footer-main-row{width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:18px!important;min-height:30px!important;white-space:nowrap!important}
.tca-v35-root .footer-brand-inline{display:flex!important;align-items:baseline!important;flex:0 0 auto!important;font:500 17px/1.1 'League Spartan',sans-serif!important;letter-spacing:-.01em!important}
.tca-v35-root .footer-brand-main{color:var(--tca-charcoal)!important}.tca-v35-root .footer-brand-accent{color:var(--tca-gold)!important}
.tca-v35-root .footer-inline-item{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:6px!important;font:400 11px/1.2 'Urbanist',sans-serif!important;color:var(--tca-charcoal)!important}
.tca-v35-root .footer-inline-item a{display:flex!important;align-items:center!important;gap:6px!important;color:var(--tca-charcoal)!important;text-decoration:none!important;transition:color .22s ease!important}.tca-v35-root .footer-inline-item a:hover{color:var(--tca-gold)!important}
.tca-v35-root .footer-icon{width:15px!important;height:15px!important;display:grid!important;place-items:center!important;flex:0 0 15px!important;color:var(--tca-charcoal)!important}.tca-v35-root .footer-icon svg{width:14px!important;height:14px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.tca-v35-root .footer-social-inline{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:0 0 auto!important}.tca-v35-root .social-icon{width:20px!important;height:20px!important;display:grid!important;place-items:center!important;color:var(--tca-charcoal)!important;transition:color .22s ease!important}.tca-v35-root .social-icon:hover{color:var(--tca-gold)!important}.tca-v35-root .social-icon svg{width:15px!important;height:15px!important}
.tca-v35-root .footer-copyright{width:100%!important;margin:8px auto 0!important;padding:0!important;text-align:center!important;font:400 13px/1.4 'Urbanist',sans-serif!important;color:#888!important}
.tca-v35-root .footer-back-top{position:absolute!important;right:0!important;top:-32px!important}
@media(max-width:1120px){.tca-v35-root .site-footer{width:calc(100vw - 40px)!important}.tca-v35-root .footer-main-row{flex-wrap:wrap!important;row-gap:8px!important}.tca-v35-root .footer-social-inline{margin-left:0!important}}
@media(max-width:760px){.tca-v35-root .site-footer{width:calc(100vw - 28px)!important}.tca-v35-root .footer-main-row{flex-direction:column!important;align-items:flex-start!important;white-space:normal!important;gap:7px!important}.tca-v35-root .footer-social-inline{margin-left:0!important}.tca-v35-root .footer-copyright{text-align:center!important}}

/* ================================================================
   TCA 3.6.7 — FOOTER ISOLATION / NO-OVERLAP HOTFIX
   Only footer is affected.
   ================================================================ */

/* Footer starts after any visual overflow from Work cards. JS sets this variable. */
.tca-v35-root .site-footer{
  margin-top:calc(46px + var(--tca-footer-extra, 0px))!important;
  width:min(var(--tca-grid-w),calc(100vw - 96px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 0 14px!important;
  overflow:visible!important;
  background:#fff!important;
}

/* Strong isolation from Elementor / theme typography. */
.tca-v35-root .site-footer,
.tca-v35-root .site-footer *{
  text-transform:none!important;
  letter-spacing:normal!important;
  font-style:normal!important;
  box-sizing:border-box!important;
}

.tca-v35-root .footer-main-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  width:100%!important;
  min-height:24px!important;
  white-space:nowrap!important;
}

.tca-v35-root .footer-brand-inline,
.tca-v35-root .footer-brand-inline span{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font-family:'League Spartan',sans-serif!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
.tca-v35-root .footer-brand-main{color:#3D3D3D!important}
.tca-v35-root .footer-brand-accent{color:#B89B5E!important;margin-left:3px!important}

.tca-v35-root .footer-inline-item,
.tca-v35-root .footer-inline-item span,
.tca-v35-root .footer-inline-item a,
.tca-v35-root .footer-phone-empty{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font-family:'Urbanist',sans-serif!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:400!important;
  color:#3D3D3D!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.tca-v35-root .footer-inline-item a:hover{color:#B89B5E!important}

.tca-v35-root .footer-icon{
  width:13px!important;
  height:13px!important;
  flex:0 0 13px!important;
  display:inline-grid!important;
  place-items:center!important;
  margin-right:4px!important;
  color:#3D3D3D!important;
}
.tca-v35-root .footer-icon svg{
  width:12px!important;
  height:12px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
}

.tca-v35-root .footer-social-inline{
  margin-left:auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
}
.tca-v35-root .footer-social-inline .social-icon,
.tca-v35-root .footer-social-inline .social-icon:link,
.tca-v35-root .footer-social-inline .social-icon:visited{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  line-height:1!important;
  color:#3D3D3D!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.tca-v35-root .footer-social-inline .social-icon:hover{color:#B89B5E!important}
.tca-v35-root .footer-social-inline .social-icon svg{
  width:13px!important;
  height:13px!important;
  max-width:13px!important;
  max-height:13px!important;
}

.tca-v35-root .footer-copyright,
.tca-v35-root .footer-copyright *{
  width:100%!important;
  margin:7px 0 0!important;
  padding:0!important;
  text-align:center!important;
  font-family:'Urbanist',sans-serif!important;
  font-size:8.5px!important;
  line-height:1.1!important;
  font-weight:400!important;
  color:#888!important;
}

.tca-v35-root .footer-back-top{
  right:0!important;
  top:-28px!important;
  font-family:'Urbanist',sans-serif!important;
  font-size:9px!important;
  line-height:1!important;
}

@media(max-width:1120px){
  .tca-v35-root .site-footer{width:calc(100vw - 40px)!important}
  .tca-v35-root .footer-main-row{flex-wrap:wrap!important;row-gap:7px!important}
  .tca-v35-root .footer-social-inline{margin-left:0!important}
}
@media(max-width:760px){
  .tca-v35-root .site-footer{width:calc(100vw - 28px)!important}
  .tca-v35-root .footer-main-row{flex-direction:column!important;align-items:flex-start!important;white-space:normal!important}
}
\n
/* ============================================================
   TCA 3.6.15 — WORK RESET PREVIEW
   Purpose: keep the approved 3.6.7 hero untouched and replace the
   old absolute/viewport Work composition with one explicit normal-flow
   drawing based on the approved H/V sequence. Footer is intentionally
   hidden in this visual approval build.
   ============================================================ */
.tca-v35-root .gallery{
  position:relative!important;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin-top:calc(var(--nav-h) + 86px)!important;
  padding:0 0 120px!important;
}


/* visual approval build: footer comes back only after Work geometry is approved */
.tca-v35-root .site-footer,
.tca-v35-root .tca-back-to-top{display:none!important;}

@media (max-width:980px){
  .tca-v35-root .gallery{margin-top:112px!important;padding-bottom:70px!important;}
  
  
  
  
  
  
}


/* ============================================================
   TCA 3.6.16 — WORK REFINEMENT
   Refines the approved 3.6.15 normal-flow Work foundation only.
   Hero/intro code is intentionally untouched.
   ============================================================ */
.tca-v35-root .gallery{
  margin-top:calc(var(--nav-h) + 48px)!important;
  padding-bottom:96px!important;
}


/* Keep the supplied composition visible. Golden-ratio dimensions belong to
   the module; images are contained rather than re-cropped by the browser. */


/* Project information stays tied to its own image datum. */

/* Refine the fixed navigation zone without altering hero movement. */
.tca-v35-root .site-header .main-nav{
  column-gap:52px!important;
}
.tca-v35-root .main-nav .submenu{
  margin-top:7px!important;
}


@media (max-width:980px){
  .tca-v35-root .gallery{margin-top:96px!important;}
  
  
}


/* ============================================================
   TCA 3.6.17 — WORK DATUM / FIXED PROPORTION CORRECTION
   Locks one H size and one V size on desktop, reduces vertical gaps,
   and aligns every image to the same inner centre datum.
   Hero/intro is intentionally untouched.
   ============================================================ */
@media (min-width:981px){
  .tca-v35-root .gallery{
    margin-top:calc(var(--nav-h) + 34px)!important;
    padding-bottom:72px!important;
  }
  
  
  
  
  
  
  
  
  /* All left-column image RIGHT edges share one datum; all right-column
     image LEFT edges share the opposite datum. This removes the drift seen
     when portrait images are narrower than landscape images. */
  
  
  
  
  
  
  
}


/* ============================================================
   TCA 3.6.18 — APPROVED PDF RHYTHM / TIGHT GAP
   Exact project placement from the approved Work drawing.
   Hero/intro remains untouched.
   ============================================================ */
@media (min-width:981px){
  .tca-v35-root .gallery{
    margin-top:calc(var(--nav-h) + 18px)!important;
    padding-bottom:56px!important;
  }
  
  
  
  
  
  
  
  
  
  /* Lock the two image datums. Portraits do not float within the card. */
  
  
}


/* ============================================================
   TCA 3.6.22 — GOLDEN MODULAR MATRIX
   Latest instruction: build the Work field from fixed H modules.
   H = one Golden Ratio landscape cell. V = two grid rows, but the
   portrait itself remains exact 1:1.618 and is centred inside the
   same fixed column. Project information is outside the grid and
   cannot alter/recentre the image columns. Hero is untouched.
   ============================================================ */
@media (min-width:981px){
  

  

  
  

  
  
  

  /* Information is attached to the actual image edge, never to grid width. */
  
  
  

  /* Remove every legacy alignment rule that can pull H/V towards centre edges. */
  
}


/* Back-to-top arrow: an actual SVG mark (bold solid chevron) instead of
   CSS-drawn bars — user-supplied reference shape. Used for both the grid's
   own back-to-top and the footer's, for visual consistency. No box/
   background either way, just the mark. */
a.tca-wg-backtop{
  width:22px !important; height:22px !important;
  font-size:0 !important; line-height:0 !important;
}
a.tca-wg-backtop::before, a.tca-wg-backtop::after{ display:none !important; content:none !important; }
a.tca-wg-backtop span{ display:none !important; }

.tca-backtop-svg{
  display:block !important;
  width:100% !important; height:100% !important;
  fill:currentColor !important;
  transition:fill .28s ease !important;
}
a.tca-wg-backtop:hover .tca-backtop-svg,
.footer-back-top:hover .tca-backtop-svg{
  fill:var(--tca-gold,#B89B5E) !important;
}

.tca-v35-root .footer-chevron.tca-backtop-svg{
  width:17px !important; height:17px !important;
  margin-left:2px !important;
}

/* =========================================================
   TCA Portfolio v4.0.5 — footer visibility hardening
   The footer was rendering but effectively invisible — a white,
   near-zero-height sliver on a white page. Forcing every property
   that can silently defeat visibility (display/visibility/opacity/
   position/min-height), on top of the plugin's own intended footer
   styling, rather than relying on whichever of the many historical
   footer rules happens to win.
   ========================================================= */
.tca-v35-root .site-footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  min-height:60px !important;
  width:min(var(--tca-grid-w,1040px), calc(100vw - 96px)) !important;
  margin:46px auto 0 !important;
  padding:24px 0 20px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:2 !important;
  clear:both !important;
  float:none !important;
}

/* =========================================================
   TCA Portfolio v4.0.7 — nav/submenu aligned to the grid's own edges
   The Work grid's width comes from --col-w/--gap, scoped inside .tca-wg
   only. .main-nav lives in .site-header, a sibling of .tca-wg, so it has
   no access to those variables at all. Re-declaring the same values here
   (identical numbers to .tca-wg's own --phi/--row-h/--gap) is what makes
   the two actually match instead of coincidentally looking close.
   ========================================================= */
:root{
  --tca-shared-phi:1.61803398875;
  --tca-shared-gap:8px;
  --tca-shared-row-h:190px;
  --tca-shared-col-w:calc(var(--tca-shared-row-h) * var(--tca-shared-phi));
  --tca-shared-grid-w:calc(var(--tca-shared-col-w) * 2 + var(--tca-shared-gap));
}

/* Main nav: same width as the grid, centered the same way (margin auto
   within the full-width header), items spread edge-to-edge. Replaces the
   earlier fixed left/right pixel positioning, which was only ever an
   approximation of this alignment, not a guarantee of it. */
.tca-v35-root .site-header .main-nav{
  position:static !important;
  left:auto !important; right:auto !important; top:auto !important; transform:none !important;
  width:var(--tca-shared-grid-w) !important;
  max-width:var(--tca-shared-grid-w) !important;
  margin:0 auto !important;
  display:flex !important;
  justify-content:space-between !important;
  column-gap:0 !important;
}

/* Submenu: spans the exact same width/centering as the nav and the grid,
   regardless of which nav-item triggered it — it no longer centers itself
   under the trigger word, and the old first-child/last-child edge-overflow
   special cases are no longer needed (every submenu now uses the same
   full-width position, so there's no edge to overflow past). */
.tca-v35-root .nav-item .submenu{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:var(--tca-shared-grid-w) !important;
  max-width:var(--tca-shared-grid-w) !important;
  top:calc(var(--tca-header-h,var(--nav-h)) - 8px) !important;
  margin-top:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  padding:0px 0 8px !important;
  background:#fff !important;
  z-index:85 !important;
}
/* A full-bleed white band behind the links themselves — the links stay
   aligned to the grid's width above, but the background now spans the
   entire viewport edge to edge, so there is never any gap anywhere across
   the screen where a scrolled image could show through while this is open. */
.tca-v35-root .nav-item .submenu::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important; bottom:0 !important;
  left:50% !important; right:50% !important;
  margin-left:-50vw !important; margin-right:-50vw !important;
  width:100vw !important;
  background:#fff !important;
  z-index:-1 !important;
}
.tca-v35-root .nav-item.open .submenu{
  transform:translateX(-50%) translateY(0) !important;
}
body.admin-bar .tca-v35-root .nav-item .submenu{
  top:calc(var(--tca-header-h,var(--nav-h)) - 8px) !important;
}
/* the old per-item centering/edge overrides are neutralised — every
   submenu now shares the identical rule above regardless of position */
.tca-v35-root .nav-item:first-child .submenu,
.tca-v35-root .nav-item:last-child .submenu{
  left:50% !important; right:auto !important; transform:translateX(-50%) !important;
}
.tca-v35-root .nav-item:first-child.open .submenu,
.tca-v35-root .nav-item:last-child.open .submenu{
  transform:translateX(-50%) translateY(0) !important;
}

/* Work grid clearance: submenu now sits closer (--nav-h + 6px, ~30-40px
   tall) — give the grid enough top margin that an open submenu never
   overlaps the first row of images, at any screen size. */
.tca-wg{
  margin-top:calc(var(--tca-header-h,var(--nav-h)) + 12px) !important;
}


@media(max-width:1024px){
  .tca-v35-root .site-header .main-nav,
  .tca-v35-root .nav-item .submenu{
    width:min(var(--tca-shared-grid-w), calc(100vw - 56px)) !important;
    max-width:min(var(--tca-shared-grid-w), calc(100vw - 56px)) !important;
  }
}
@media(max-width:600px){
  .tca-v35-root .site-header .main-nav{
    width:auto !important; max-width:none !important; margin:0 !important;
    justify-content:flex-start !important; column-gap:26px !important;
    overflow-x:auto !important;
  }
  .tca-v35-root .nav-item .submenu{
    width:calc(100vw - 32px) !important; max-width:calc(100vw - 32px) !important;
    left:50% !important; flex-wrap:wrap !important;
  }
}

/* =========================================================
   TCA Portfolio v4.1.0 — footer: two columns aligned to the grid's edges
   Left column (name, address) starts at the grid's left edge; right
   column (email, mobile, social) ends at the grid's right edge — same
   --tca-shared-grid-w variable the nav/submenu already use, so this is a
   real alignment, not a visual approximation.
   ========================================================= */
.tca-v35-root .footer-columns{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  width:var(--tca-shared-grid-w) !important;
  max-width:var(--tca-shared-grid-w) !important;
  margin:0 auto !important;
  gap:24px !important;
}
.tca-v35-root .footer-col-left{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:left !important;
}
.tca-v35-root .footer-col-right{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  text-align:right !important;
}
.tca-v35-root .footer-name{
  font-family:'League Spartan',sans-serif !important;
  font-weight:600 !important; font-size:19px !important; line-height:1.2 !important;
  color:var(--tca-charcoal) !important; margin-bottom:8px !important;
}
.tca-v35-root .footer-brand-accent{ color:var(--tca-gold) !important; }
.tca-v35-root .footer-address-line{
  font-family:'Urbanist',sans-serif !important; font-size:15px !important; font-weight:400 !important;
  color:var(--tca-charcoal) !important; line-height:1.6 !important;
}
.tca-v35-root .footer-address-line + .footer-address-line{
  margin-top:2px !important;
}
.tca-v35-root .footer-col-left{
  flex-shrink:0 !important;
}
.tca-v35-root .footer-col-right .footer-line{
  font-family:'Urbanist',sans-serif !important; font-size:15px !important; font-weight:400 !important;
  line-height:1.7 !important; margin-bottom:4px !important;
  max-width:100% !important; overflow-wrap:break-word !important;
}
.tca-v35-root .footer-col-right .footer-line a{
  font-family:'Urbanist',sans-serif !important; font-size:15px !important; font-weight:400 !important;
  line-height:1.7 !important;
  color:var(--tca-charcoal) !important; text-decoration:none !important; transition:color .25s ease !important;
  display:inline-flex !important; align-items:center !important; gap:8px !important;
}
.tca-v35-root .footer-col-right .footer-line a:hover{ color:var(--tca-gold) !important; }
.tca-v35-root .footer-icon{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:15px !important; height:15px !important; flex:0 0 auto !important;
}
.tca-v35-root .footer-icon svg{
  width:100% !important; height:100% !important;
  fill:none !important; stroke:currentColor !important; stroke-width:1.6 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
.tca-v35-root .footer-col-right .footer-social-inline{
  display:flex !important; justify-content:flex-end !important;
  gap:12px !important; margin-top:8px !important;
}

@media(max-width:600px){
  .tca-v35-root .footer-columns{
    flex-direction:column !important;
    width:calc(100vw - 32px) !important; max-width:calc(100vw - 32px) !important;
    gap:20px !important;
  }
  .tca-v35-root .footer-col-right{ align-items:flex-start !important; text-align:left !important; }
  .tca-v35-root .footer-col-right .footer-social-inline{ justify-content:flex-start !important; }
}

/* =========================================================
   TCA Portfolio v4.2.2 — single back-to-top arrow, anchored to the grid
   Removed the duplicate footer arrow entirely (there were two). This one
   is no longer position:fixed with a scroll-triggered fade-in — it's now
   a normal part of the grid's own layout: pinned to the grid's bottom-
   right corner, so it's flush with the bottom edge of the last row of
   images (the "datum"), horizontally aligned with the hamburger icon
   above it, and simply becomes visible by scrolling to it naturally —
   no JS visibility toggle needed at all.
   ========================================================= */
.tca-wg{ position:relative !important; }
a.tca-wg-backtop{
  position:absolute !important;
  top:auto !important; bottom:0 !important;
  left:auto !important; right:40px !important;
  opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  transform:none !important;
  width:22px !important; height:22px !important;
}
@media(max-width:1024px){
  a.tca-wg-backtop{ right:28px !important; }
}
@media(max-width:600px){
  a.tca-wg-backtop{ right:18px !important; }
}

/* =========================================================
   TCA Portfolio v4.9.0/4.9.1 — reverted.
   The position:absolute repositioning for logo/hamburger caused a visual
   jump and made the hamburger menu need two clicks to open — it wasn't
   worth it. Reverted to the original grid-based positioning (justify-self),
   which was working fine. The only genuinely needed fix — enough height
   on the hamburger button so the X doesn't get clipped — is kept via the
   width/height rule earlier in this file (now 36px tall) and the overflow
   safety below.
   ========================================================= */

/* Defensive: guarantee nothing in the header's ancestry can clip the
   hamburger's rotated lines, regardless of any other rule. */
.tca-v35-root .site-header{ overflow:visible !important; }

/* =========================================================
   TCA Portfolio v5.0.0 — compact submenus for Planning & Landscape
   Architecture (7 items) and Interior (4 items) have enough content to
   sensibly span the full grid width. Planning (2 items) and Landscape
   (3 items) don't — stretching two links edge-to-edge across the whole
   width looked sparse and disconnected from their own trigger word.
   These two now size to their own content and sit near their title
   instead, while everything else about them (fixed position so they
   never get affected by scrolling, solid full-bleed white background so
   nothing shows through) stays the same as the others.
   ========================================================= */
.tca-v35-root .nav-item:nth-child(3) .submenu,
.tca-v35-root .nav-item:nth-child(4) .submenu{
  position:absolute !important;
  top:100% !important; margin-top:-8px !important;
  transform:none !important;
  width:auto !important; max-width:none !important;
  justify-content:flex-start !important;
  gap:22px !important;
}
/* Planning: extends rightward from its own title, same as normal. */
.tca-v35-root .nav-item:nth-child(3) .submenu{
  left:0 !important; right:auto !important;
}
/* Landscape is the last item — extending rightward from its title would
   push the submenu past the grid's own right edge. Anchor its RIGHT edge
   to the title's right edge instead, so it grows leftward and stays
   within the grid's column width, matching Landscape's own alignment. */
.tca-v35-root .nav-item:nth-child(4) .submenu{
  left:auto !important; right:0 !important;
  justify-content:flex-end !important;
}
.tca-v35-root .nav-item:nth-child(3).open .submenu,
.tca-v35-root .nav-item:nth-child(4).open .submenu{
  transform:none !important;
}

/* =========================================================
   TCA Portfolio v5.1.2 — instant header state on [tca_header]-only pages
   The hero, header, and mini-logo all start hidden by CSS and only reach
   their correct final state once JS finishes running (on window 'load',
   which can take a moment). On the Work page that delay is invisible —
   it's disguised as part of the entrance animation. On other pages using
   [tca_header] alone, there's no animation to hide behind: the giant hero
   "TCA" and the small header logo were both sitting in their default
   (wrong) states at once until JS caught up, which is exactly the
   overlapping "stuck together" look. Forcing the correct final state
   here, in CSS, removes any dependency on JS timing entirely.
   ========================================================= */
/* The hero skip state is carried by the fixed hero itself so relocating it
   under <body> cannot make the large intro wordmark reappear. Returning Home
   after the intro uses the pre-paint <html> state set in wp_head. */
body #hero.hero.is-final-hero,
html.tca-intro-seen body #hero.hero{display:none !important;}
/* The header itself is position:fixed, so it takes zero space in normal
   page flow — without this, whatever content comes right after it (your
   own Elementor content, or the [tca_footer] shortcode) would always
   start at the very top of the page, hidden underneath the fixed header,
   regardless of what that content actually is. Reserving real height here
   is what pushes everything that follows down to below the header. */
.tca-skip-hero{
  display:block !important;
  min-height:calc(var(--tca-header-h, var(--nav-h)) + 12px) !important;
}
.tca-header-only.tca-skip-hero{
  min-height:0 !important;
  height:0 !important;
}

/* =========================================================
   TCA Portfolio v5.3.5 — sticky footer REMOVED
   The flex-based sticky-footer trick (body as a flex column, footer pushed
   down via margin-top:auto) was very likely the cause of the footer
   rendering ABOVE the header on light-content pages: turning the whole
   <body> into a flex container hands over control of visual top-to-bottom
   ordering to flex layout rules, which can behave unpredictably once
   Elementor's own wrapper divs are involved. Reverted entirely — same
   judgment call as removing the earlier scroll-to-top feature. A footer
   that isn't perfectly pinned to the bottom of a nearly-empty page is a
   far smaller problem than one that renders in the wrong position. The
   footer now just follows normal, predictable document flow: wherever it
   sits in the page's content, in the order things were actually placed.
   ========================================================= */

/* =========================================================
   TCA Portfolio v5.3.3 — neutralise Elementor's global button styling
   Elementor's active Kit applies a default box-shadow to every <button>
   element site-wide (visible in DevTools as ".elementor-kit-14 button").
   The hero logo and mini-logo are built as real <button> elements (for
   accessibility/semantics), so they were silently inheriting that shadow —
   which read as an unwanted box/border around the animated text. This has
   nothing to do with any Border setting in Elementor's own panels, which
   is why changing those never fixed it.
   ========================================================= */
.tca-v35-root .hero-logo,
.tca-v35-root .logo-mini,
.tca-v35-root .hamburger{
  box-shadow:none !important;
  border:none !important;
}

/* =========================================================
   Universal safety net — the button/box-shadow issue happened because
   Elementor's Kit applies default styling globally by HTML element type
   (every <button>, every <a>, etc.), and this plugin's markup uses plain
   HTML elements for semantics/accessibility rather than avoiding them.
   Rather than keep finding these one at a time, this catches box-shadow,
   outline, and text-shadow on every element and pseudo-element inside the
   plugin's own root wrapper, from any external source, permanently.
   ========================================================= */
.tca-v35-root, .tca-v35-root *, .tca-v35-root *::before, .tca-v35-root *::after,
.hamburger-menu, .hamburger-menu *{
  box-shadow:none !important;
  text-shadow:none !important;
}
.tca-v35-root button, .tca-v35-root a, .tca-v35-root input,
.hamburger-menu a{
  outline:none !important;
}
/* None of the buttons this plugin creates (hero logo, hamburger) are
   meant to look like buttons visually — they're custom-styled text/icon
   triggers. Elementor's Kit gives every <button> a background and padding
   by default, which is what was actually producing a visible "box" shape
   around the hero text — box-shadow alone was never the whole story. */
.tca-v35-root button{
  background:transparent !important;
  background-color:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Extra reinforcement, scoped and positioned last for maximum reliability
   - the same defensive pattern used throughout this file, protecting
   against Elementor's global Kit link styling silently overriding the
   intended 20px size (same underlying issue as the earlier button fix). */
.tca-v35-root .hamburger-menu a{
  font-size:20px !important;
  font-weight:500 !important;
}
@media(max-width:1024px){ .tca-v35-root .hamburger-menu a{ font-size:17px !important; } }
@media(max-width:600px){ .tca-v35-root .hamburger-menu a{ font-size:15px !important; } }

/* =========================================================
   TCA FINAL HEADER GEOMETRY — v5.5.4 (responsive)
   This block replaces every prior, scattered header-padding patch as the
   single source of truth. It uses ID selectors on body-scoped elements
   deliberately: IDs carry high specificity that wins regardless of any
   .tca-v35-root wrapper being present, correctly nested, or accidentally
   broken by JS relocation — the exact class of bug that caused several
   rounds of "fixed it, still broken" in this project. No more edge
   padding tug-of-war between different versions of this rule; this is
   the only one that should ever need to change going forward.

   Edge spacing scales smoothly from mobile through 4K via clamp() rather
   than fixed breakpoint jumps — 16px minimum (phones), scaling with
   viewport width up to a 40px ceiling (large desktop/4K), so "extreme
   left/right" means visually aligned to the site's own margin datum, not
   literally touching the glass edge with zero breathing room.
   ========================================================= */
:root{ --tca-edge:clamp(10px, 1.25vw, 24px); --tca-admin-bar-h:0px; }

html, body{
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
}

body #siteHeader.site-header{
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
  width:100vw !important; max-width:none !important;
  height:var(--tca-header-h) !important;
  margin:0 !important; padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  background:#fff !important;
  border:0 !important; box-shadow:none !important;
  box-sizing:border-box !important;
  z-index:2000 !important;
}
body.admin-bar #siteHeader.site-header{ top:var(--tca-admin-bar-h) !important; }
@media(max-width:782px){
  body.admin-bar #siteHeader.site-header{ top:46px !important; }
}

/* Category navigation — true centre column. Hidden below 760px (existing
   rule elsewhere in this file) — the header stays TCA/hamburger only on
   phones, with navigation moving into the hamburger's own dropdown
   instead of squeezing four items across a narrow screen. */
/* =========================================================
   TCA 15.7.36 — PERMANENT WORDMARK: ONE PAINT, ONE SIZE
   The fixed corner TCA is never shown in a fallback/intermediate font.
   JavaScript reveals it only after League Spartan 700 is confirmed ready.
   ========================================================= */
body #logoMini.logo-mini,
body #logoMini.logo-mini span{
  font-family:"League Spartan",sans-serif!important;
  font-weight:700!important;
  font-style:normal!important;
  font-variation-settings:normal!important;
  font-size:39.6px!important;
  line-height:1!important;
  letter-spacing:2px!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
body #logoMini.logo-mini{
  grid-column:1!important;
  justify-self:start!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  width:91px!important;
  height:40px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body #logoMini.logo-mini.is-final-logo,
body #siteHeader.site-header.is-final-header #logoMini.logo-mini,
html.tca-intro-seen body #logoMini.logo-mini{
  visibility:visible!important;
  opacity:1!important;
}
body #heroLogo[aria-hidden="true"]{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  body #logoMini.logo-mini,
  body #logoMini.logo-mini span{font-size:28px!important;}
  body #logoMini.logo-mini{width:66px!important;height:29px!important;}
}

body #siteHeader #mainNav.main-nav{
  grid-column:2 !important;
  justify-self:center !important;
  margin:0 !important;
  padding:0 !important;
}

/* Hamburger — true viewport right, scaling inset */
body #siteHeader #hamburgerBtn.hamburger{
  grid-column:3 !important;
  justify-self:end !important;
  margin:0 !important;
  padding:0 !important;
  width:34px !important;
  transform:none !important;
}

/* Dropdown menu follows the same right datum as the hamburger itself,
   at every screen size */
body #hamburgerMenu.hamburger-menu{
  right:var(--tca-edge) !important;
  left:auto !important;
  margin-right:0 !important;
}
body.admin-bar #hamburgerMenu.hamburger-menu{
  top:calc(var(--tca-admin-bar-h) + var(--tca-header-h)) !important;
}

/* The hero logo is relocated by the same JS function as the header, and
   its anti-box-shadow fix (the earlier "box around the animated text"
   bug) was also written as ".tca-v35-root .hero-logo{...}" — same
   ancestor-dependency problem. Reinforced here with an ID selector for
   the same reason as the header above. */
/* =========================================================
   TCA HERO → HEADER TYPOGRAPHY LOCK

   Hero TCA, full firm name, travelling TCA and final
   header TCA all use one consistent typographic weight.
   ========================================================= */

body #heroLogo.hero-logo,
body #heroLogo.hero-logo .letter,
body #heroLogo.hero-logo .fill{
    font-family:"League Spartan",sans-serif !important;
    font-weight:700 !important;

    font-style:normal !important;
    font-variation-settings:normal !important;

    line-height:1 !important;

    background:transparent !important;
    background-color:transparent !important;

    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* Full Tushar Chhatbar Architects state:
   size changes, weight does NOT. */
body #hero.name-shown #heroLogo.hero-logo{
    font-weight:700 !important;
    letter-spacing:2px !important;
}

/* During collapse and travel to the left:
   absolutely no weight change. */
body #heroLogo.hero-logo.collapsing,
body #heroLogo.hero-logo.moving,
body #heroLogo.hero-logo.collapsing .letter,
body #heroLogo.hero-logo.collapsing .fill,
body #heroLogo.hero-logo.moving .letter,
body #heroLogo.hero-logo.moving .fill{
    font-family:"League Spartan",sans-serif !important;
    font-weight:700 !important;
    letter-spacing:2px !important;
}

/* =========================================================
   TCA HEADER + CATEGORY NAV
   Single authoritative definition.
   Do not add later header/submenu overrides below this block.
   ========================================================= */

:root {
    --tca-header-h: 88px;
    --tca-edge: clamp(24px, 3vw, 56px);
    --tca-charcoal: #3D3D3D;
    --tca-gold: #B89B5E;
}

/* ---------- HEADER ---------- */

body #siteHeader.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;
    height: var(--tca-header-h) !important;

    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 var(--tca-edge) !important;

    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;

    z-index: 2000 !important;
}

/* ---------- TCA LOGO ---------- */

body #logoMini.logo-mini {
    grid-column: 1 !important;
    justify-self: start !important;

    position: static !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family: "League Spartan", sans-serif !important;!important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;

    white-space: nowrap !important;
}

/* ---------- PRIMARY CATEGORIES ---------- */

body #mainNav.main-nav {
    grid-column: 2 !important;
    justify-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: clamp(44px, 5vw, 84px) !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

body #mainNav .nav-item {
    position: relative !important;

    margin: 0 !important;
    padding: 0 !important;
}

body #mainNav .nav-item > span {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family: "League Spartan", sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    color: var(--tca-charcoal) !important;

    cursor: pointer !important;
    white-space: nowrap !important;

    transition: color .25s ease !important;
}

body #mainNav .nav-item:hover > span,
body #mainNav .nav-item.open > span {
    color: var(--tca-gold) !important;
}

/* =========================================================
   TCA 14.4.12 — STABLE TWO-TIER WORK NAVIGATION
   The submenu occupies its own protected white band beneath the primary
   navigation. Work/Journal media can never enter this zone.
   ========================================================= */
:root{
  --tca-header-h:58px;
  --tca-submenu-h:34px;
  --tca-work-nav-gap:16px;
}

body #siteHeader.site-header{
  height:var(--tca-header-h)!important;
  overflow:visible!important;
}
body.admin-bar #siteHeader.site-header{top:32px!important;}
@media(max-width:782px){body.admin-bar #siteHeader.site-header{top:46px!important;}}

/* The submenu is a separate fixed row immediately below the header. */
body #mainNav .submenu{
  position:fixed!important;
  top:var(--tca-header-h)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  height:var(--tca-submenu-h)!important;
  min-height:var(--tca-submenu-h)!important;
  margin:0!important;
  padding:0 var(--tca-edge)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  z-index:2001!important;
}
body.admin-bar #mainNav .submenu{top:calc(var(--tca-admin-bar-h) + var(--tca-header-h))!important;}
@media(max-width:782px){body.admin-bar #mainNav .submenu{top:calc(46px + var(--tca-header-h))!important;}}

body #mainNav .nav-item.open .submenu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body #mainNav .submenu a{
  margin:0!important;
  padding:0!important;
  font-family:"Urbanist",sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  color:var(--tca-charcoal)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body #mainNav .submenu a:hover,
body #mainNav .submenu a.is-active{color:var(--tca-gold)!important;}

/* Work begins only after the complete two-tier navigation zone. */
body .tca-wg{
  margin-top:calc(var(--tca-header-h) + var(--tca-submenu-h) + var(--tca-work-nav-gap))!important;
}

/* ---------- HAMBURGER ---------- */

body #hamburgerBtn.hamburger {
    grid-column: 3 !important;
    z-index: 7001 !important;
    justify-self: end !important;

    position: relative !important;

    width: 30px !important;
    height: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    appearance: none !important;
    cursor: pointer !important;
}

body #hamburgerBtn.hamburger span {
    position: absolute !important;
    left: 0 !important;

    width: 100% !important;
    height: 2px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--tca-charcoal) !important;

    transition:
        transform .3s ease,
        opacity .2s ease !important;
}

body #hamburgerBtn.hamburger span:nth-child(1) {
    top: 0 !important;
}

body #hamburgerBtn.hamburger span:nth-child(2) {
    top: 10px !important;
}

body #hamburgerBtn.hamburger span:nth-child(3) {
    top: 20px !important;
}

body #hamburgerBtn.hamburger.open span:nth-child(1) {
    transform: translateY(10px) rotate(45deg) !important;
}

body #hamburgerBtn.hamburger.open span:nth-child(2) {
    opacity: 0 !important;
}

body #hamburgerBtn.hamburger.open span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg) !important;
}

/* ---------- HAMBURGER MENU ---------- */

body #hamburgerMenu.hamburger-menu {
    position: fixed !important;

    top: var(--tca-header-h) !important;
    right: var(--tca-edge) !important;
    left: auto !important;

    min-width: 156px !important;
    margin: 0 !important;
    padding: 18px 0 20px 24px !important;

    align-items: flex-end !important;
    text-align: right !important;

    /* The drawer must sit above the permanent white header/submenu datum. */
    background: transparent !important;
    isolation: isolate !important;
    z-index: 7000 !important;
}

/* ---------- WORDPRESS ADMIN BAR ---------- */

body.admin-bar #siteHeader.site-header {
    top: 32px !important;
}

body.admin-bar #hamburgerMenu.hamburger-menu {
    top: calc(var(--tca-header-h) + 32px) !important;
}

/* ---------- TABLET ---------- */

@media (max-width: 1100px) {

    :root {
        --tca-header-h: 78px;
        --tca-edge: 24px;
    }
body #mainNav.main-nav {
        gap: clamp(24px, 3.5vw, 44px) !important;
    }

    body #mainNav .nav-item > span {
        font-size: 17px !important;
    }

    body #mainNav .submenu {
        gap: 18px !important;
    }

    body #mainNav .submenu a {
        font-size: 14px !important;
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 760px) {

    :root {
        --tca-header-h: 66px;
        --tca-edge: 18px;
    }

    body #siteHeader.site-header {
        grid-template-columns: 1fr 1fr !important;
    }
    body #logoMini.logo-mini { grid-column:1 !important; }
body #mainNav.main-nav {
        display: none !important;
    }

    body #hamburgerBtn.hamburger {
        grid-column: 2 !important;
        width: 27px !important;
    }
}

@media (max-width: 782px) {

    body.admin-bar #siteHeader.site-header {
        top: 46px !important;
    }

    body.admin-bar #hamburgerMenu.hamburger-menu {
        top: calc(var(--tca-header-h) + 46px) !important;
    }
}

/* ---------- LARGE / 4K ---------- */

@media (min-width: 1920px) {

    :root {
        --tca-edge: 64px;
    }
body #mainNav.main-nav {
        gap: 90px !important;
    }

    body #mainNav .nav-item > span {
        font-size: 21px !important;
    }
}

/* =========================================================
   FINAL FOOTER COPYRIGHT SIZE
   ========================================================= */

body .tca-v35-root .footer-copyright,
body .tca-v35-root .footer-copyright *{
    font-family:"Urbanist",sans-serif !important;
    font-size:13px !important;
    line-height:1.4 !important;
    font-weight:400 !important;
    text-align:center !important;
    color:#888 !important;
}
/* TCA v5.5.25 — dynamic Work navigation keeps the approved visual style. */
body #mainNav .nav-item > .tca-main-filter{
  display:block!important;
  color:var(--tca-charcoal,#3D3D3D)!important;
  text-decoration:none!important;
  font:500 18px/1.2 'League Spartan',sans-serif!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
body #mainNav .nav-item:hover > .tca-main-filter,
body #mainNav .nav-item.open > .tca-main-filter,
body #mainNav .nav-item.is-active > .tca-main-filter,
body #mainNav .submenu a.is-active{
  color:var(--tca-gold,#B89B5E)!important;
}
.tca-wg-card[hidden]{display:none!important}


/* =========================================================
   TCA Portfolio v5.5.28 — social icon size polish only
   Same footer layout, spacing, alignment and hover behaviour
   across mobile, tablet, desktop and 4K.
   ========================================================= */
body .tca-v35-root .footer-social-inline .social-icon,
body .tca-v35-root .footer-social-inline .social-icon:link,
body .tca-v35-root .footer-social-inline .social-icon:visited{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
}
body .tca-v35-root .footer-social-inline .social-icon svg{
  width:20px!important;
  height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
}

/* ==============================================================
   TCA 02b — Contact page: pencil-sketch hero + enquiry + location
   ============================================================== */
.tca-v35-root.tca-contact-page{background:#fff;color:#3d3d3d;min-height:100vh;overflow:clip}
.tca-contact-main{width:100%;margin:0 auto;padding:0 clamp(20px,4.6vw,84px) 0}
.tca-contact-hero{position:relative;width:100%;aspect-ratio:1.618/1;height:auto;overflow:hidden;background:#fff;isolation:isolate;perspective:1400px;transform-style:preserve-3d}
.tca-contact-hero-media{position:absolute;inset:0;transform-origin:center center;will-change:transform;transform:translate3d(0,var(--tca-contact-y,0px),var(--tca-contact-z,0px)) scale(var(--tca-contact-scale,.99));transition:transform .16s cubic-bezier(.22,.61,.36,1);background:#fff}
.tca-contact-hero-source{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.10;filter:grayscale(1) contrast(.78) brightness(1.42);mix-blend-mode:multiply}
.tca-contact-hero-sketch{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;mix-blend-mode:multiply;opacity:.93}
.tca-contact-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 25% 30%,rgba(255,255,255,.15),transparent 42%),repeating-linear-gradient(12deg,rgba(61,61,61,.018) 0,rgba(61,61,61,.018) 1px,transparent 1px,transparent 5px);mix-blend-mode:multiply}
.tca-contact-hero-title{position:absolute;z-index:2;left:clamp(22px,5vw,92px);bottom:clamp(20px,3vw,48px);transform:translate3d(0,0,var(--tca-contact-title-z,70px));margin:0;padding:.08em .16em .02em;color:#3d3d3d;background:rgba(255,255,255,.88);font-family:"League Spartan",sans-serif;font-size:clamp(58px,9.2vw,158px);font-weight:500;line-height:.84;letter-spacing:-.05em;white-space:nowrap;will-change:transform}
.tca-contact-hero-placeholder,.tca-contact-map-placeholder{display:grid;place-items:center;height:100%;padding:24px;text-align:center;font:400 14px/1.5 "Urbanist",sans-serif;color:#777;background:#f7f7f7}
.tca-contact-enquiry{padding-top:clamp(72px,7vw,110px)}
.tca-contact-location{padding-top:clamp(72px,7vw,110px);padding-bottom:0}
.tca-contact-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:clamp(18px,2vw,28px);border-bottom:1px solid rgba(61,61,61,.24)}
.tca-contact-section-heading h2{margin:0;font-family:"League Spartan",sans-serif;font-size:clamp(40px,5.7vw,96px);font-weight:500;line-height:.9;letter-spacing:-.04em;text-align:left}
.tca-contact-enquiry-content{display:grid;grid-template-columns:minmax(240px,.52fr) minmax(0,1.48fr);gap:clamp(38px,7vw,120px);padding-top:clamp(28px,3.4vw,52px);align-items:start}
.tca-contact-intro-copy{max-width:420px;margin:0;font:400 clamp(16px,1.15vw,20px)/1.55 "Urbanist",sans-serif}
.tca-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 36px}.tca-contact-form label{display:block}.tca-contact-form label.is-wide,.tca-contact-form .is-wide{grid-column:1/-1}
.tca-contact-form label span{display:block;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}
.tca-contact-form input,.tca-contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(61,61,61,.45);border-radius:0;background:transparent;padding:10px 0 12px;color:#3d3d3d;font:400 16px/1.5 "Urbanist",sans-serif;outline:none;box-shadow:none}
.tca-contact-form textarea{resize:vertical;min-height:135px}.tca-contact-form input:focus,.tca-contact-form textarea:focus{border-bottom-color:#b89b5e}
.tca-contact-form button{border:0;background:transparent;color:#3d3d3d;padding:0 0 7px;border-bottom:1px solid currentColor;font:500 15px/1.3 "Urbanist",sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.tca-contact-form button:hover{color:#b89b5e}
.tca-contact-notice{margin:0 0 28px;padding:13px 16px;border-left:2px solid #3d3d3d;background:#f7f7f7;font-size:14px}.tca-contact-notice.is-success{border-left-color:#b89b5e}.tca-contact-notice.is-error{border-left-color:#8b2d2d}.tca-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tca-contact-directions{display:inline-flex;gap:9px;align-items:center;color:inherit;text-decoration:none;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:13px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.tca-contact-directions:hover{color:#b89b5e}
.tca-contact-map{height:clamp(360px,46vh,520px);margin-top:clamp(20px,2.4vw,34px);background:#f7f7f7;overflow:hidden}.tca-contact-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1) contrast(.94)}.tca-contact-map-placeholder{height:420px;margin-top:24px}
@media(max-width:900px){.tca-contact-main{padding-top:0}.tca-contact-hero{aspect-ratio:1.45/1}.tca-contact-enquiry-content{grid-template-columns:1fr;gap:34px}.tca-contact-map{height:440px}}
@media(max-width:600px){.tca-contact-main{padding:0 18px}.tca-contact-hero{aspect-ratio:1/1.05}.tca-contact-hero-media{inset:0}.tca-contact-hero-title{left:16px;bottom:18px;font-size:clamp(48px,16vw,78px)}.tca-contact-section-heading{align-items:flex-start;flex-direction:column}.tca-contact-form{grid-template-columns:1fr}.tca-contact-form label.is-wide,.tca-contact-form .is-wide{grid-column:auto}.tca-contact-map{height:360px;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.tca-contact-hero-media,.tca-contact-hero-title{transition:none!important;transform:none!important}}


/* TCA 02e — plain full-bleed Contact image and tighter section landings */
.tca-v35-root.tca-contact-page{overflow-x:clip}
.tca-contact-main{width:100%;max-width:none;padding:0;margin:0}
.tca-contact-hero{
  width:100vw;
  max-width:none;
  margin:0;
  aspect-ratio:var(--tca-contact-image-ratio,2.4/1);
  min-height:0;
  background:#fff;
  overflow:hidden;
}
.tca-contact-hero-media{inset:0;background:#fff}
.tca-contact-hero-source{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  opacity:1;
  filter:none;
  mix-blend-mode:normal;
}
.tca-contact-hero-sketch,.tca-contact-hero:after{display:none!important}
.tca-contact-hero-title{
  left:clamp(24px,5vw,92px);
  bottom:clamp(26px,5.5vw,82px);
}
.tca-contact-enquiry,.tca-contact-location{
  width:100%;
  padding-left:clamp(20px,4.6vw,84px);
  padding-right:clamp(20px,4.6vw,84px);
}
.tca-contact-enquiry{padding-top:clamp(52px,5vw,82px)}
.tca-contact-location{padding-top:clamp(58px,5.4vw,88px);padding-bottom:0}
.tca-contact-enquiry-content{padding-top:clamp(24px,2.8vw,42px)}
.tca-contact-map{margin-top:clamp(18px,2vw,28px)}
@media(max-width:900px){
  .tca-contact-main{padding:0}
  .tca-contact-hero{aspect-ratio:var(--tca-contact-image-ratio,1.65/1)}
}
@media(max-width:600px){
  .tca-contact-main{padding:0}
  .tca-contact-hero{width:100vw;aspect-ratio:var(--tca-contact-image-ratio,1.25/1)}
  .tca-contact-enquiry,.tca-contact-location{padding-left:18px;padding-right:18px}
  .tca-contact-hero-title{left:18px;bottom:24px}
}

/* TCA 02f — Contact hero position + adjacent social image rail */
.tca-contact-hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(150px,16vw,270px);
  width:100vw;
  align-items:stretch;
  background:#fff;
}
.tca-contact-hero{
  width:100%;
  aspect-ratio:1.618/1!important;
  min-height:0;
  overflow:hidden;
}
.tca-contact-hero-source{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
.tca-contact-hero-title{
  left:75%!important;
  right:auto!important;
  bottom:10%!important;
  transform:translate3d(-50%,0,var(--tca-contact-title-z,70px))!important;
  padding:0!important;
  background:transparent!important;
  text-shadow:0 1px 10px rgba(255,255,255,.72),0 1px 2px rgba(255,255,255,.95);
}
.tca-contact-social-rail{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:1px;
  min-width:0;
  background:#fff;
}
.tca-contact-social-card{
  position:relative;
  display:block;
  min-height:0;
  overflow:hidden;
  color:#fff!important;
  text-decoration:none!important;
  background:#f3f3f3;
}
.tca-contact-social-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),filter .35s ease;
}
.tca-contact-social-card:after{
  content:"";
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(to bottom,transparent,rgba(0,0,0,.52));
  pointer-events:none;
}
.tca-contact-social-card span{
  position:absolute;
  z-index:2;
  left:14px;
  right:10px;
  bottom:12px;
  font:500 12px/1.2 "Urbanist",sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.tca-contact-social-card:hover img{transform:scale(1.035)}
@media(max-width:900px){
  .tca-contact-hero-shell{grid-template-columns:1fr;width:100vw}
  .tca-contact-social-rail{grid-template-columns:repeat(3,1fr);grid-template-rows:none;min-height:160px}
  .tca-contact-hero-title{left:72%!important;bottom:9%!important}
}
@media(max-width:600px){
  .tca-contact-hero{aspect-ratio:1.25/1!important}
  .tca-contact-social-rail{min-height:110px}
  .tca-contact-social-card span{left:8px;bottom:8px;font-size:10px}
  .tca-contact-hero-title{left:68%!important;bottom:8%!important;font-size:clamp(42px,13vw,68px)!important}
}

/* TCA 02g — balanced Contact title and white-framed golden-ratio social cards */
.tca-contact-hero-title{
  left:50%!important;
  right:auto!important;
  transform:translate3d(-50%,0,var(--tca-contact-title-z,70px))!important;
}
.tca-contact-social-rail{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:clamp(14px,1.5vw,24px)!important;
  padding:clamp(18px,2vw,34px) clamp(12px,1.25vw,22px)!important;
  background:#fff!important;
}
.tca-contact-social-card{
  flex:0 0 auto;
  width:100%;
  aspect-ratio:1.618/1;
  min-height:0!important;
  background:#f4f4f4;
}
.tca-contact-social-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .tca-contact-social-rail{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:16px 20px!important;
    gap:14px!important;
    min-height:0!important;
  }
  .tca-contact-social-card{width:100%;aspect-ratio:1.618/1}
  .tca-contact-hero-title{left:50%!important}
}
@media(max-width:600px){
  .tca-contact-social-rail{padding:12px 14px!important;gap:8px!important}
  .tca-contact-hero-title{left:50%!important}
}

/* TCA 02h — viewport-fit golden-ratio Contact composition */
.tca-contact-hero-shell{
  --tca-hero-gap:clamp(12px,1.1vw,20px);
  --tca-hero-edge:clamp(18px,3vw,52px);
  width:calc(100vw - (2 * var(--tca-hero-edge)))!important;
  height:calc(100svh - 118px - (2 * var(--tca-hero-edge)))!important;
  min-height:520px;
  max-height:900px;
  margin:var(--tca-hero-edge) auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(190px,20vw,330px)!important;
  gap:var(--tca-hero-gap)!important;
  align-items:stretch!important;
  overflow:hidden;
  background:#fff!important;
}
.tca-contact-hero{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  background:#fff!important;
}
.tca-contact-hero-media{
  inset:0!important;
  display:grid;
  place-items:center;
  background:#fff!important;
}
.tca-contact-hero-source{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.tca-contact-hero-title{
  left:50%!important;
  bottom:clamp(24px,5vh,64px)!important;
  background:transparent!important;
  text-shadow:none!important;
  color:#3d3d3d!important;
}
.tca-contact-social-rail{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:var(--tca-hero-gap)!important;
  justify-content:stretch!important;
  align-content:stretch!important;
  background:#fff!important;
}
.tca-contact-social-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:1.618/1!important;
  background:#fff!important;
  overflow:hidden;
}
.tca-contact-social-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .3s ease!important;
}
.tca-contact-social-card:after{
  display:none!important;
}
.tca-contact-social-symbol{
  position:absolute!important;
  left:auto!important;
  right:clamp(10px,1vw,16px)!important;
  bottom:clamp(10px,1vw,16px)!important;
  width:clamp(23px,1.8vw,31px)!important;
  height:clamp(23px,1.8vw,31px)!important;
  display:grid!important;
  place-items:center!important;
  color:#3d3d3d!important;
  background:rgba(255,255,255,.92)!important;
  border-radius:50%;
  transition:color .28s ease,transform .28s ease!important;
}
.tca-contact-social-symbol svg{
  width:68%;
  height:68%;
  display:block;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.5;
}
.tca-contact-social-card:hover .tca-contact-social-symbol,
.tca-contact-social-card:focus-visible .tca-contact-social-symbol{
  color:#b89b5e!important;
  transform:translateY(-2px);
}
.tca-contact-social-card:hover img{transform:scale(1.018)!important}

@media(max-width:900px){
  .tca-contact-hero-shell{
    width:calc(100vw - 36px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:18px auto!important;
    grid-template-columns:1fr!important;
    overflow:visible;
  }
  .tca-contact-hero{aspect-ratio:1.618/1!important;height:auto!important}
  .tca-contact-social-rail{
    height:auto!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
  }
  .tca-contact-social-card{height:auto!important;aspect-ratio:1.618/1!important}
}
@media(max-width:600px){
  .tca-contact-hero-shell{width:calc(100vw - 24px)!important;margin:12px auto!important;gap:10px!important}
  .tca-contact-hero{aspect-ratio:1.2/1!important}
  .tca-contact-social-rail{gap:8px!important}
  .tca-contact-hero-title{left:50%!important;bottom:20px!important}
}

/* TCA 02i — Contact hero title and enquiry viewport refinement */
@media (min-width:901px){
  .tca-contact-hero-title{
    left:0!important;
    bottom:clamp(24px,5vh,64px)!important;
    padding-left:0!important;
    transform:translate3d(0,0,var(--tca-contact-title-z,70px))!important;
  }
  .tca-contact-hero-shell{
    margin-bottom:clamp(130px,17vh,230px)!important;
  }
  .tca-contact-enquiry{
    min-height:calc(100svh - 96px);
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:clamp(54px,7vh,92px)!important;
    padding-bottom:clamp(54px,7vh,92px)!important;
    scroll-margin-top:96px;
  }
  .tca-contact-enquiry-content{
    padding-top:clamp(24px,3vh,42px)!important;
  }
}
@media (max-width:900px){
  .tca-contact-hero-title{left:0!important;padding-left:0!important}
  .tca-contact-hero-shell{margin-bottom:clamp(72px,12vh,120px)!important}
  .tca-contact-enquiry{scroll-margin-top:84px}
}

/* TCA 02j — top-aligned Contact title and external social icons */
@media (min-width:901px){
  .tca-contact-hero-title{
    left:0!important;
    top:clamp(18px,2.6vh,34px)!important;
    bottom:auto!important;
    padding:0!important;
    transform:translate3d(0,0,var(--tca-contact-title-z,70px))!important;
    background:transparent!important;
  }
  .tca-contact-social-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(42px,3.4vw,58px)!important;
    align-items:stretch!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .tca-contact-social-card img{
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    object-fit:contain!important;
    background:#fff!important;
  }
  .tca-contact-social-symbol{
    position:static!important;
    grid-column:2!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#3d3d3d!important;
    transform:none!important;
  }
  .tca-contact-social-symbol svg{
    width:clamp(21px,1.7vw,29px)!important;
    height:clamp(21px,1.7vw,29px)!important;
  }
  .tca-contact-social-card:hover .tca-contact-social-symbol,
  .tca-contact-social-card:focus-visible .tca-contact-social-symbol{
    color:#b89b5e!important;
    transform:none!important;
  }
}

@media (max-width:900px){
  .tca-contact-hero-title{
    left:0!important;
    top:16px!important;
    bottom:auto!important;
    padding:0!important;
  }
  .tca-contact-social-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
  }
  .tca-contact-social-card img{grid-column:1!important}
  .tca-contact-social-symbol{
    position:static!important;
    grid-column:2!important;
    width:auto!important;
    height:auto!important;
    border-radius:0!important;
    background:#fff!important;
    display:grid!important;
    place-items:center!important;
  }
  .tca-contact-social-symbol svg{width:22px!important;height:22px!important}
}

/* TCA 02k — final Contact title alignment and compact location action */
@media (min-width:901px){
  .tca-contact-hero-title{
    left:0!important;
    top:clamp(18px,2.6vh,34px)!important;
    bottom:auto!important;
    padding:0!important;
    transform:none!important;
    font-size:clamp(54px,6.2vw,104px)!important;
    line-height:.88!important;
  }
  .tca-contact-directions{
    font-size:clamp(12px,.9vw,15px)!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
    font-weight:500!important;
    padding-bottom:5px!important;
  }
  .tca-contact-directions span{font-size:1.05em!important}
  .tca-contact-map{
    height:clamp(300px,38vh,410px)!important;
    margin-top:clamp(16px,1.8vw,26px)!important;
  }
  .tca-contact-location{
    padding-top:clamp(54px,5vw,82px)!important;
  }
}
@media (max-width:900px){
  .tca-contact-hero-title{transform:none!important;left:0!important}
  .tca-contact-directions{font-size:12px!important}
}


/* TCA 03 — editable Contact video / slider / image hero */
.tca-contact-hero-media video.tca-contact-hero-source{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;background:#fff!important}
.tca-contact-hero-slider{overflow:hidden!important}
.tca-contact-hero-slider .tca-contact-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0!important;visibility:hidden!important;transition:opacity .9s ease,visibility .9s ease!important}
.tca-contact-hero-slider .tca-contact-slide.is-active{opacity:1!important;visibility:visible!important}
.tca-contact-slide-prev,.tca-contact-slide-next{position:absolute;top:50%;z-index:5;transform:translateY(-50%);border:0;background:rgba(255,255,255,.78);color:#3d3d3d;width:38px;height:52px;font:300 34px/1 'Urbanist',sans-serif;cursor:pointer;opacity:0;transition:opacity .25s,color .25s}
.tca-contact-slide-prev{left:14px}.tca-contact-slide-next{right:14px}
.tca-contact-hero-slider:hover .tca-contact-slide-prev,.tca-contact-hero-slider:hover .tca-contact-slide-next,.tca-contact-slide-prev:focus-visible,.tca-contact-slide-next:focus-visible{opacity:1}
.tca-contact-slide-prev:hover,.tca-contact-slide-next:hover{color:#b89b5e}
.tca-contact-slide-dots{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px}
.tca-contact-slide-dots span{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55)}
.tca-contact-slide-dots span.is-active{background:#fff}
@media(max-width:900px){.tca-contact-slide-prev,.tca-contact-slide-next{opacity:.8;width:32px;height:44px}.tca-contact-hero-media video.tca-contact-hero-source,.tca-contact-hero-slider .tca-contact-slide{object-fit:cover!important}}


/* TCA 03a — Contact heading above hero with aligned editorial rule */
.tca-contact-page-heading{
  width:min(1500px,calc(100vw - 80px));
  margin:clamp(18px,2.8vh,34px) auto clamp(24px,3vh,40px);
  display:grid;
  grid-template-columns:auto minmax(60px,1fr);
  align-items:end;
  gap:clamp(22px,3vw,54px);
}
.tca-contact-page-title{
  margin:0;
  color:#3d3d3d;
  font-family:"League Spartan",sans-serif;
  font-size:clamp(52px,6.2vw,104px);
  font-weight:500;
  line-height:.88;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.tca-contact-page-line{
  display:block;
  height:1px;
  margin-bottom:.12em;
  background:rgba(61,61,61,.28);
}
.tca-contact-hero-title{display:none!important}
@media(max-width:900px){
  .tca-contact-page-heading{
    width:calc(100vw - 36px);
    margin:18px auto 24px;
    gap:18px;
  }
  .tca-contact-page-title{font-size:clamp(46px,11vw,76px)}
}
@media(max-width:600px){
  .tca-contact-page-heading{
    width:calc(100vw - 24px);
    margin:14px auto 18px;
    grid-template-columns:1fr;
    gap:12px;
  }
  .tca-contact-page-title{font-size:clamp(42px,14vw,64px);white-space:normal}
  .tca-contact-page-line{width:100%;margin:0}
}


/* TCA 03b — stronger cross-browser Contact depth compositor */
.tca-contact-hero{perspective:1150px!important;transform-style:preserve-3d!important}
.tca-contact-hero-media{
  transform:translate3d(0,var(--tca-contact-y,0px),var(--tca-contact-z,0px)) scale(var(--tca-contact-scale,1))!important;
  transform-origin:50% 50%!important;
  transition:none!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
}
.tca-contact-social-rail{
  transform-origin:50% 50%!important;
  transform-style:preserve-3d!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
}
@media(prefers-reduced-motion:reduce){
  .tca-contact-hero-media,.tca-contact-social-rail{transform:none!important;transition:none!important}
}

/* TCA 03c — Contact page rebuilt inside the approved Work/footer datum */
.tca-contact-page{
  --tca-contact-content-w:min(var(--tca-grid-w,670px),calc(100vw - 80px));
}
.tca-contact-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.tca-contact-page-heading,
.tca-contact-intro-block,
.tca-contact-hero-shell,
.tca-contact-enquiry,
.tca-contact-location{
  width:var(--tca-contact-content-w)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.tca-contact-page-heading{
  margin-top:clamp(24px,4vh,58px)!important;
  margin-bottom:clamp(24px,3.2vh,44px)!important;
  display:block!important;
}
.tca-contact-page-title{
  font-size:clamp(48px,5vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.04em!important;
}
.tca-contact-page-line{width:clamp(34px,4vw,62px)!important;background:#b89b5e!important;margin-top:16px!important}
.tca-contact-intro-block{margin-bottom:clamp(26px,3.5vh,46px)!important}
.tca-contact-top-copy{
  width:min(420px,100%);
  margin:0 0 clamp(26px,3vw,42px);
  font:400 clamp(14px,1vw,17px)/1.55 "Urbanist",sans-serif;
  color:#3d3d3d;
}
.tca-contact-discipline-menu{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:clamp(18px,3vw,38px);
  padding:0 0 14px;
  border-bottom:1px solid rgba(61,61,61,.18);
  overflow-x:auto;
  scrollbar-width:none;
}
.tca-contact-discipline-menu::-webkit-scrollbar{display:none}
.tca-contact-discipline-menu a{
  flex:0 0 auto;
  color:#3d3d3d;
  text-decoration:none;
  font:400 13px/1.2 "Urbanist",sans-serif;
  white-space:nowrap;
  transition:color .25s ease;
}
.tca-contact-discipline-menu a:hover,.tca-contact-discipline-menu a:focus-visible{color:#b89b5e}
.tca-contact-hero-shell{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  margin-top:0!important;
  margin-bottom:clamp(84px,12vh,150px)!important;
  overflow:visible!important;
}
.tca-contact-hero{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.618/1!important;
  overflow:hidden!important;
  background:#fff!important;
}
.tca-contact-hero-media,
.tca-contact-hero-source,
.tca-contact-hero-slider .tca-contact-slide,
.tca-contact-hero-media video.tca-contact-hero-source{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.tca-contact-social-rail{display:none!important}
.tca-contact-enquiry{padding:0!important;margin-bottom:clamp(88px,12vh,150px)!important}
.tca-contact-enquiry-lead{max-width:520px;margin:0 0 clamp(48px,6vh,78px)}
.tca-contact-eyebrow{
  margin:0 0 14px;
  color:#b89b5e;
  font:500 12px/1.2 "Urbanist",sans-serif;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.tca-contact-enquiry-lead h2{
  margin:0 0 22px;
  font:500 clamp(34px,4vw,62px)/.98 "League Spartan",sans-serif;
  letter-spacing:-.035em;
  color:#3d3d3d;
}
.tca-contact-enquiry-lead>p:last-child{max-width:430px;margin:0;font:400 15px/1.6 "Urbanist",sans-serif}
.tca-contact-section-heading{padding-bottom:18px!important;margin-bottom:clamp(30px,4vh,50px)!important}
.tca-contact-section-heading h2{font-size:clamp(34px,4vw,62px)!important}
.tca-contact-enquiry-content{display:block!important;padding:0!important}
.tca-contact-form-wrap{width:100%!important}
.tca-contact-form{gap:24px 34px!important}
.tca-contact-form input,.tca-contact-form textarea{font-size:15px!important}
.tca-contact-location{padding:0 0 clamp(36px,5vh,68px)!important}
.tca-contact-map{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.618/1!important;
  margin-top:0!important;
  background:#f7f7f7!important;
}
.tca-contact-map-placeholder{height:auto!important;aspect-ratio:1.618/1!important;margin-top:0!important}
@media(max-width:900px){
  .tca-contact-page{--tca-contact-content-w:calc(100vw - 36px)}
  .tca-contact-page-heading{margin-top:20px!important}
  .tca-contact-hero-shell{margin-bottom:clamp(70px,10vh,110px)!important}
  .tca-contact-enquiry{margin-bottom:clamp(72px,10vh,120px)!important}
}
@media(max-width:600px){
  .tca-contact-page{--tca-contact-content-w:calc(100vw - 24px)}
  .tca-contact-page-title{font-size:clamp(42px,13vw,62px)!important}
  .tca-contact-discipline-menu{justify-content:flex-start;gap:26px}
  .tca-contact-hero{aspect-ratio:1.25/1!important}
  .tca-contact-map{aspect-ratio:1.12/1!important}
  .tca-contact-enquiry-lead h2,.tca-contact-section-heading h2{font-size:clamp(32px,10vw,48px)!important}
}


/* TCA 03d — compact Contact datum aligned to approved Work/footer content */
.tca-contact-page{
  --tca-contact-content-w:min(670px,calc(100vw - 80px))!important;
}
.tca-contact-page-heading,
.tca-contact-intro-block,
.tca-contact-hero-shell,
.tca-contact-enquiry,
.tca-contact-location{
  width:var(--tca-contact-content-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.tca-contact-page-heading{
  margin-top:clamp(18px,2.8vh,34px)!important;
  margin-bottom:clamp(16px,2.2vh,28px)!important;
}
.tca-contact-page-title{
  font-size:clamp(38px,3.7vw,58px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
}
.tca-contact-page-line{
  width:42px!important;
  height:1px!important;
  margin-top:12px!important;
}
.tca-contact-intro-block{
  margin-bottom:clamp(22px,3vh,34px)!important;
}
.tca-contact-top-copy{
  margin:0!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.tca-contact-discipline-menu{display:none!important}
.tca-contact-hero-shell{
  margin-bottom:clamp(72px,10vh,118px)!important;
}
.tca-contact-enquiry{
  margin-bottom:clamp(72px,10vh,118px)!important;
}
.tca-contact-enquiry-lead{
  max-width:430px!important;
  margin-bottom:clamp(34px,4.8vh,56px)!important;
}
.tca-contact-enquiry-lead h2,
.tca-contact-section-heading h2{
  font-size:clamp(30px,3.2vw,46px)!important;
}
.tca-contact-location{
  padding-bottom:clamp(28px,4vh,48px)!important;
}
@media(max-width:900px){
  .tca-contact-page{--tca-contact-content-w:calc(100vw - 40px)!important}
}
@media(max-width:600px){
  .tca-contact-page{--tca-contact-content-w:calc(100vw - 24px)!important}
  .tca-contact-page-title{font-size:clamp(38px,12vw,54px)!important}
}

/* ================================================================
   TCA 03e — FINAL GOLDEN-RATIO / FOOTER-TEXT DATUM ALIGNMENT
   Header and footer are intentionally untouched.
   The Contact page begins on the footer's first visible text datum
   while retaining the footer's approved outer-right datum.
   ================================================================ */
.tca-contact-page{
  --tca-phi:1.61803398875;
  --tca-footer-w:min(var(--tca-grid-w,670px),calc(100vw - 96px));
  --tca-footer-text-inset:24px;
  --tca-contact-content-w:calc(var(--tca-footer-w) - var(--tca-footer-text-inset))!important;
}
.tca-contact-page-heading,
.tca-contact-intro-block,
.tca-contact-hero-shell,
.tca-contact-enquiry,
.tca-contact-location{
  width:var(--tca-contact-content-w)!important;
  max-width:none!important;
  margin-left:calc((100vw - var(--tca-footer-w))/2 + var(--tca-footer-text-inset))!important;
  margin-right:0!important;
}
/* Golden-ratio media frames */
.tca-contact-hero,
.tca-contact-map,
.tca-contact-map-placeholder{
  aspect-ratio:1.61803398875 / 1!important;
  height:auto!important;
}
/* Golden-ratio spacing rhythm: 21 / 34 / 55 / 89 */
.tca-contact-page-heading{
  margin-top:34px!important;
  margin-bottom:21px!important;
}
.tca-contact-page-line{
  width:34px!important;
  margin-top:13px!important;
}
.tca-contact-intro-block{margin-bottom:34px!important}
.tca-contact-hero-shell{margin-bottom:89px!important}
.tca-contact-enquiry{margin-bottom:89px!important}
.tca-contact-enquiry-lead{margin-bottom:55px!important}
.tca-contact-section-heading{margin-bottom:34px!important;padding-bottom:13px!important}
.tca-contact-location{padding-bottom:34px!important}
.tca-contact-map{margin-top:21px!important}
/* Keep the form calm and proportioned without changing its fields. */
.tca-contact-form{column-gap:34px!important;row-gap:21px!important}
.tca-contact-form textarea{min-height:144px!important}

@media(max-width:1120px){
  .tca-contact-page{
    --tca-footer-w:calc(100vw - 40px);
    --tca-footer-text-inset:0px;
  }
  .tca-contact-page-heading,
  .tca-contact-intro-block,
  .tca-contact-hero-shell,
  .tca-contact-enquiry,
  .tca-contact-location{
    margin-left:20px!important;
    margin-right:20px!important;
    width:calc(100vw - 40px)!important;
  }
}
@media(max-width:760px){
  .tca-contact-page{--tca-footer-w:calc(100vw - 28px)}
  .tca-contact-page-heading,
  .tca-contact-intro-block,
  .tca-contact-hero-shell,
  .tca-contact-enquiry,
  .tca-contact-location{
    margin-left:14px!important;
    margin-right:14px!important;
    width:calc(100vw - 28px)!important;
  }
  .tca-contact-hero,.tca-contact-map,.tca-contact-map-placeholder{aspect-ratio:1.25 / 1!important}
  .tca-contact-page-heading{margin-top:21px!important}
  .tca-contact-hero-shell,.tca-contact-enquiry{margin-bottom:55px!important}
}

/* ================================================================
   TCA 03f — CONTACT ALIGNED TO THE FOOTER'S INNER TWO-COLUMN DATUM
   Exact desktop datum:
   left  = T of "Tushar Chhatbar Architects"
   right = final character of the footer email/right column.
   Header and footer remain untouched.
   ================================================================ */
.tca-contact-page{
  --tca-contact-inner-w:min(var(--tca-shared-grid-w,622.84px),calc(100vw - 96px))!important;
}
.tca-contact-page-heading,
.tca-contact-intro-block,
.tca-contact-hero-shell,
.tca-contact-enquiry,
.tca-contact-location{
  width:var(--tca-contact-inner-w)!important;
  max-width:var(--tca-contact-inner-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* All principal frames retain the golden ratio. */
.tca-contact-hero,
.tca-contact-map,
.tca-contact-map-placeholder{
  width:100%!important;
  aspect-ratio:1.61803398875 / 1!important;
  height:auto!important;
}
/* Ensure inner headings and form never escape the shared datum. */
.tca-contact-section-heading,
.tca-contact-enquiry-content,
.tca-contact-form-wrap,
.tca-contact-form{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .tca-contact-page{--tca-contact-inner-w:calc(100vw - 28px)!important}
  .tca-contact-hero,
  .tca-contact-map,
  .tca-contact-map-placeholder{aspect-ratio:1.25 / 1!important}
}

/* ================================================================
   TCA 04 — STUDIO PAGE
   Same exact inner datum and golden-ratio stacking as final Contact.
   Header/footer remain untouched.
   ================================================================ */
.tca-v35-root.tca-studio-page{background:#fff;color:#3d3d3d;min-height:100vh;overflow:clip}
.tca-studio-page{--tca-studio-w:min(var(--tca-shared-grid-w,622.84px),calc(100vw - 96px));--tca-phi:1.61803398875}
.tca-studio-main{width:100%;padding:0;margin:0}
.tca-studio-heading,.tca-studio-intro,.tca-studio-portrait,.tca-studio-section,.tca-studio-moments-section{width:var(--tca-studio-w);max-width:var(--tca-studio-w);margin-left:auto;margin-right:auto;box-sizing:border-box}
.tca-studio-heading{margin-top:34px;margin-bottom:21px}
.tca-studio-heading h1{margin:0;font:500 clamp(38px,3.7vw,58px)/.96 "League Spartan",sans-serif;letter-spacing:-.035em;color:#3d3d3d}
.tca-studio-heading>span,.tca-studio-copy>span{display:block;width:34px;height:1px;background:#b89b5e;margin-top:13px}
.tca-studio-intro{width:var(--tca-studio-w);margin-top:0;margin-bottom:34px;font:400 14px/1.55 "Urbanist",sans-serif;color:#3d3d3d}
.tca-studio-media{position:relative;width:100%;aspect-ratio:1.61803398875/1;overflow:hidden;background:#f7f7f7;perspective:1400px;transform-style:preserve-3d}
.tca-studio-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;will-change:transform;transform:translate3d(0,var(--tca-studio-y,0px),var(--tca-studio-z,0px)) scale(var(--tca-studio-scale,1));transition:transform .16s cubic-bezier(.22,.61,.36,1)}
.tca-studio-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:24px;text-align:center;background:#f7f7f7;color:#777;font:400 14px/1.5 "Urbanist",sans-serif;box-sizing:border-box}
.tca-studio-portrait{margin-bottom:89px}
.tca-studio-section{margin-bottom:89px}
.tca-studio-copy{padding-top:34px;width:100%;box-sizing:border-box}
.tca-studio-index{margin:0 0 9px;color:#b89b5e;font:500 12px/1.2 "Urbanist",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.tca-studio-copy h2,.tca-studio-moments-heading h2{margin:0;font:500 clamp(30px,3.2vw,46px)/.98 "League Spartan",sans-serif;letter-spacing:-.03em;color:#3d3d3d}
.tca-studio-copy>p:last-child{margin:21px 0 0;max-width:520px;font:400 15px/1.65 "Urbanist",sans-serif;color:#3d3d3d;white-space:normal}
.tca-studio-moments-section{margin-bottom:55px}
.tca-studio-moments-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:21px;margin-bottom:21px}
.tca-studio-moments-heading>p{margin:0 0 3px;font:400 11px/1.2 "Urbanist",sans-serif;color:#777;letter-spacing:.08em;text-transform:uppercase}
.tca-studio-moments{display:flex;gap:13px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b89b5e #eee;cursor:grab;overscroll-behavior-x:contain;touch-action:pan-x;padding:0 0 13px;box-sizing:border-box}
.tca-studio-moments.is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
.tca-studio-moments figure{flex:0 0 calc((100% - 26px)/3);aspect-ratio:1.61803398875/1;margin:0;scroll-snap-align:start;overflow:hidden;background:#f7f7f7}
.tca-studio-moments img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tca-studio-moments figure:hover img{transform:scale(1.025)}
.tca-studio-moments-empty{aspect-ratio:1.61803398875/1;height:auto}
@media(max-width:700px){
 .tca-studio-page{--tca-studio-w:calc(100vw - 28px)}
 .tca-studio-heading{margin-top:21px}
 .tca-studio-media{aspect-ratio:1.25/1}
 .tca-studio-portrait,.tca-studio-section{margin-bottom:55px}
 .tca-studio-copy{padding-top:21px}
 .tca-studio-moments-heading{align-items:flex-start;flex-direction:column;gap:8px}
 .tca-studio-moments figure{flex-basis:78%}
}

/* TCA Studio 04a — complete philosophy introduction, image-before-text rhythm. */
.tca-studio-opening-copy{width:var(--tca-studio-w);max-width:var(--tca-studio-w);margin:34px auto 89px;box-sizing:border-box}
.tca-studio-opening-copy p{margin:0;max-width:560px;font:400 15px/1.68 "Urbanist",sans-serif;color:#3d3d3d;white-space:normal}
.tca-studio-portrait{margin-bottom:0}
.tca-studio-philosophy .tca-studio-copy>p:last-child{font:500 clamp(28px,3.1vw,45px)/1.18 "League Spartan",sans-serif;letter-spacing:-.025em;max-width:none}
.tca-studio-philosophy .tca-studio-copy>p:last-child br{display:block;content:"";margin-bottom:13px}
@media (max-width:767px){
 .tca-studio-opening-copy{margin-top:21px;margin-bottom:55px}
 .tca-studio-opening-copy p{font-size:14px;line-height:1.62}
 .tca-studio-philosophy .tca-studio-copy>p:last-child{font-size:clamp(25px,8vw,36px)}
}

/* TCA Expertise — locked Contact/Studio inner datum */
.tca-expertise-page{--tca-inner:536px;color:#3d3d3d;background:#fff}.tca-expertise-main{width:min(var(--tca-inner),calc(100vw - 42px));margin:0 auto;padding:72px 0 89px}.tca-expertise-heading h1{font:600 clamp(42px,4.5vw,64px)/1 League Spartan,sans-serif;margin:0}.tca-expertise-heading>span,.tca-expertise-copy>span{display:block;width:34px;height:1px;background:#b89b5e;margin:21px 0}.tca-expertise-intro{max-width:430px;margin:34px 0 55px;font:400 14px/1.6 Urbanist,sans-serif}.tca-expertise-section,.tca-expertise-process{margin:0 0 89px}.tca-expertise-media{aspect-ratio:1.618/1;background:#f7f7f7;overflow:hidden;transform-style:preserve-3d;will-change:transform}.tca-expertise-media img{width:100%;height:100%;display:block;object-fit:cover}.tca-expertise-placeholder{min-height:220px;display:grid;place-items:center;padding:34px;text-align:center;background:#f7f7f7;font:400 13px/1.5 Urbanist,sans-serif}.tca-expertise-copy{padding-top:34px}.tca-expertise-index{margin:0 0 8px;color:#b89b5e;font:500 12px/1 Urbanist,sans-serif;letter-spacing:.08em}.tca-expertise-copy h2,.tca-expertise-archive-heading h2{margin:0;font:600 clamp(28px,3vw,40px)/1.05 League Spartan,sans-serif}.tca-expertise-copy>p:last-child{margin:0;font:400 15px/1.72 Urbanist,sans-serif}.tca-expertise-copy ol{list-style:none;counter-reset:process;margin:0;padding:0}.tca-expertise-copy li{counter-increment:process;padding:13px 0;border-bottom:1px solid #ddd;font:500 15px/1.4 Urbanist,sans-serif}.tca-expertise-copy li:before{content:counter(process,decimal-leading-zero);display:inline-block;width:44px;color:#b89b5e}.tca-expertise-archive-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.tca-expertise-archive-heading>p{margin:0;font:400 11px/1.4 Urbanist,sans-serif}.tca-expertise-archive{display:flex;gap:13px;overflow-x:auto;scrollbar-width:thin;cursor:grab;overscroll-behavior-inline:contain;padding-bottom:13px}.tca-expertise-archive.is-dragging{cursor:grabbing}.tca-expertise-archive figure{flex:0 0 61.8%;aspect-ratio:1.618/1;margin:0;overflow:hidden;background:#f7f7f7}.tca-expertise-archive img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:700px){.tca-expertise-main{padding-top:55px}.tca-expertise-archive figure{flex-basis:85%}}

/* ================================================================
   TCA 09.5 — UNIFIED INNER-PAGE HEADING DATUM
   Contact Us is the positioning authority for Expertise, Studio,
   Journal and Contact. Header/footer and page content remain unchanged.
   ================================================================ */
.tca-contact-page,
.tca-studio-page,
.tca-expertise-page{
  --tca-inner-page-heading-w:min(var(--tca-shared-grid-w,622.84px),calc(100vw - 96px));
}
.tca-contact-page-heading,
.tca-studio-heading,
.tca-expertise-heading{
  width:var(--tca-inner-page-heading-w)!important;
  max-width:var(--tca-inner-page-heading-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-top:34px!important;
  margin-bottom:21px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.tca-contact-page-title,
.tca-studio-heading h1,
.tca-expertise-heading h1{
  margin:0!important;
  font-family:"League Spartan",sans-serif!important;
  font-size:clamp(38px,3.7vw,58px)!important;
  font-weight:500!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
  color:#3d3d3d!important;
}
.tca-contact-page-line,
.tca-studio-heading>span,
.tca-expertise-heading>span{
  display:block!important;
  width:34px!important;
  height:1px!important;
  margin:13px 0 0!important;
  background:#b89b5e!important;
}
.tca-expertise-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 89px!important;
}
.tca-expertise-intro,
.tca-expertise-section,
.tca-expertise-process,
.tca-expertise-archive-section{
  width:var(--tca-inner-page-heading-w)!important;
  max-width:var(--tca-inner-page-heading-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .tca-contact-page,
  .tca-studio-page,
  .tca-expertise-page{--tca-inner-page-heading-w:calc(100vw - 28px)!important}
  .tca-contact-page-heading,
  .tca-studio-heading,
  .tca-expertise-heading{margin-top:21px!important}
}

/* ================================================================
   TCA 09.6 — INNER-PAGE OPENING RHYTHM
   Contact Us is the spacing authority:
   heading -> gold rule -> introduction -> first image.
   ================================================================ */
/* Expertise: remove the old extra 34px top / 55px bottom margins. */
.tca-expertise-heading{margin-bottom:21px!important}
.tca-expertise-intro{
  margin-top:0!important;
  margin-bottom:34px!important;
}

/* ================================================================
   TCA 09.7 — CONTACT-TRUE FIRST-IMAGE DATUM
   The visual top edge of the first Expertise and Journal image now
   follows the same 34px intro-to-image interval used by Contact Us.
   ================================================================ */
.tca-expertise-main > .tca-expertise-section:first-of-type{
  margin-top:-26px!important;
}
@media(max-width:700px){
  .tca-expertise-main > .tca-expertise-section:first-of-type{
    margin-top:-26px!important;
  }
}

/* ================================================================
   TCA 10.0 — ONE INNER-PAGE OPENING SYSTEM
   Contact is the authority. Contact, Expertise, Studio and Journal
   share one heading/rule/intro/first-media rhythm and typography.
   ================================================================ */
:root{
  --tca-opening-w:min(var(--tca-shared-grid-w,622.84px),calc(100vw - 96px));
  --tca-opening-title-rule-gap:13px;
  --tca-opening-rule-intro-gap:21px;
  --tca-opening-intro-media-gap:34px;
}

/* Common opening datum. */
.tca-opening-heading,
.tca-opening-intro,
.tca-opening-first-media{
  width:var(--tca-opening-w)!important;
  max-width:var(--tca-opening-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.tca-opening-heading{
  margin-top:34px!important;
  margin-bottom:var(--tca-opening-rule-intro-gap)!important;
  padding:0!important;
}
.tca-opening-heading h1{
  margin:0!important;
  font-family:"League Spartan",sans-serif!important;
  font-size:clamp(38px,3.7vw,58px)!important;
  font-weight:500!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
  color:#3d3d3d!important;
}
.tca-opening-heading > span,
.tca-opening-heading .tca-contact-page-line{
  display:block!important;
  width:34px!important;
  height:1px!important;
  margin:var(--tca-opening-title-rule-gap) 0 0!important;
  background:#b89b5e!important;
}
.tca-opening-intro{
  margin-top:0!important;
  margin-bottom:var(--tca-opening-intro-media-gap)!important;
  padding:0!important;
}
.tca-opening-intro p{
  max-width:520px!important;
}
.tca-opening-intro p,
.tca-opening-intro .tca-contact-top-copy{
  margin:0!important;
  padding:0!important;
  font-family:"Urbanist",sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
  color:#3d3d3d!important;
}
.tca-opening-first-media{
  margin-top:0!important;
}

/* Remove inherited page-specific offsets that previously fought the system. */
.tca-expertise-main > .tca-expertise-section.tca-opening-first-media{
  margin-top:0!important;
}
.tca-journal-clean-page > .tca-journal-engine.tca-opening-first-media{
  margin-top:0!important;
}
.tca-journal-clean-heading p{display:none!important}
.tca-journal-clean-intro{display:block!important}

/* Preserve page-specific bottom spacing after the first media. */
.tca-contact-hero-shell.tca-opening-first-media{margin-bottom:89px!important}
.tca-expertise-section.tca-opening-first-media{margin-bottom:89px!important}
.tca-journal-engine.tca-opening-first-media{margin-bottom:clamp(70px,8vh,120px)!important}

@media(max-width:700px){
  :root{--tca-opening-w:calc(100vw - 28px)}
  .tca-opening-heading{margin-top:21px!important}
  .tca-opening-intro p,
  .tca-opening-intro .tca-contact-top-copy{font-size:14px!important;line-height:1.6!important}
}

/* ==================================================================
   TCA 10.3 — UNIFIED PRIMARY + HAMBURGER MENU TYPOGRAPHY
   Both navigation systems use the same family, size and weight.
   ================================================================== */
body #mainNav .nav-item > span,
body #mainNav .nav-item > .tca-main-filter,
body #hamburgerMenu.hamburger-menu a{
  font-family:"Urbanist",sans-serif!important;
  font-size:18px!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

@media(max-width:1100px){
  body #mainNav .nav-item > span,
  body #mainNav .nav-item > .tca-main-filter,
  body #hamburgerMenu.hamburger-menu a{font-size:17px!important}
}

@media(max-width:760px){
  body #hamburgerMenu.hamburger-menu a{font-size:15px!important}
}

@media(min-width:1920px){
  body #mainNav .nav-item > span,
  body #mainNav .nav-item > .tca-main-filter,
  body #hamburgerMenu.hamburger-menu a{font-size:21px!important}
}

/* ==================================================================
   TCA 10.9 — ONE FOOTER BASELINE ACROSS ADDRESS + SOCIAL ICONS
   Desktop rows are paired: company/email, address-1/phone,
   address-2/social. The social icon bottoms therefore sit on the
   exact same horizontal datum as the second address line.
   ================================================================== */
@media(min-width:601px){
  body .tca-v35-root .footer-columns{
    display:grid!important;
    grid-template-columns:max-content max-content!important;
    justify-content:space-between!important;
    align-items:start!important;
    column-gap:24px!important;
  }
  body .tca-v35-root .footer-col-left,
  body .tca-v35-root .footer-col-right{
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    align-items:end!important;
    row-gap:2px!important;
    padding-bottom:0!important;
  }
  body .tca-v35-root .footer-col-left{
    justify-items:start!important;
    text-align:left!important;
  }
  body .tca-v35-root .footer-col-right{
    justify-items:end!important;
    text-align:right!important;
  }
  body .tca-v35-root .footer-name,
  body .tca-v35-root .footer-col-right .footer-line,
  body .tca-v35-root .footer-address-line,
  body .tca-v35-root .footer-col-right .footer-social-inline{
    margin:0!important;
  }
  body .tca-v35-root .footer-name{grid-row:1!important;align-self:end!important;margin-bottom:6px!important}
  body .tca-v35-root .footer-address-line:nth-of-type(2){grid-row:2!important}
  body .tca-v35-root .footer-address-line:nth-of-type(3){grid-row:3!important}
  body .tca-v35-root .footer-col-right .footer-line:nth-child(1){grid-row:1!important;align-self:end!important;margin-bottom:6px!important}
  body .tca-v35-root .footer-col-right .footer-line:nth-child(2){grid-row:2!important;align-self:end!important}
  body .tca-v35-root .footer-col-right .footer-social-inline{
    grid-row:3!important;
    position:static!important;
    right:auto!important;
    bottom:auto!important;
    align-self:end!important;
    justify-self:end!important;
    display:flex!important;
    align-items:flex-end!important;
    height:24px!important;
    line-height:1!important;
  }
  body .tca-v35-root .footer-col-right .footer-social-inline .social-icon{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    height:20px!important;
    margin:0!important;
    transform:none!important;
  }
  body .tca-v35-root .footer-col-right .footer-social-inline .social-icon svg{
    display:block!important;
    margin:0!important;
  }
}

/* ================================================================
   FINAL BACK-TO-TOP POSITION
   The reader script places the control at the true content bottom and
   writes --tca-backtop-left from the live hamburger-button centre.
   ================================================================ */
body a.tca-wg-backtop,
body > a.tca-wg-backtop{
  position:absolute!important;
  left:var(--tca-backtop-left,calc(100vw - var(--tca-edge) - 14px))!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  z-index:20!important;
}
body a.tca-wg-backtop:hover{transform:translateY(-2px)!important;}

/* ==================================================================
   TCA 11.1 — GLOBAL EDITORIAL READABILITY
   Final body-copy scale for Studio, Expertise and Contact openings.
   Navigation, footer, metadata and page titles remain unchanged.
   ================================================================== */
.tca-opening-intro p,
.tca-opening-intro .tca-contact-top-copy,
.tca-studio-intro,
.tca-studio-opening-copy p,
.tca-studio-copy > p:last-child:not(.tca-studio-philosophy *),
.tca-expertise-intro,
.tca-expertise-copy > p:last-child{
  font-family:"Urbanist",sans-serif!important;
  font-size:19px!important;
  font-weight:400!important;
  line-height:1.68!important;
}

@media(max-width:760px){
  .tca-opening-intro p,
  .tca-opening-intro .tca-contact-top-copy,
  .tca-studio-intro,
  .tca-studio-opening-copy p,
  .tca-studio-copy > p:last-child:not(.tca-studio-philosophy *),
  .tca-expertise-intro,
  .tca-expertise-copy > p:last-child{
    font-size:17px!important;
    line-height:1.65!important;
  }
}


/* ==================================================================
   TCA 11.2 — SITE-WIDE EDITORIAL TYPE + GLOBAL BACK-TO-TOP
   One final text scale across Work, Journal, Expertise, Studio and
   Contact.  The global footer arrow is used only on pages that do not
   already provide the Work/Journal reader arrow.
   ================================================================== */
:root{
  --tca-editorial-heading-size:20px;
  --tca-editorial-body-size:19px;
  --tca-editorial-heading-weight:700;
  --tca-editorial-body-weight:400;
  --tca-editorial-line-height:1.68;
}

/* Opening and editorial copy on all supporting pages. */
.tca-opening-intro,
.tca-opening-intro p,
.tca-contact-top-copy,
.tca-studio-intro,
.tca-studio-opening-copy,
.tca-studio-opening-copy p,
.tca-studio-copy > p,
.tca-expertise-intro,
.tca-expertise-copy > p,
.tca-contact-enquiry-lead p,
.tca-contact-section-heading + p{
  font-family:"Urbanist",sans-serif!important;
  font-size:var(--tca-editorial-body-size)!important;
  font-weight:var(--tca-editorial-body-weight)!important;
  line-height:var(--tca-editorial-line-height)!important;
}

/* Supporting section headings: clear hierarchy, same family throughout. */
.tca-studio-copy h2,
.tca-expertise-copy h2,
.tca-contact-section-heading h2,
.tca-contact-enquiry-lead h2{
  font-family:"Urbanist",sans-serif!important;
  font-size:var(--tca-editorial-heading-size)!important;
  font-weight:var(--tca-editorial-heading-weight)!important;
  line-height:1.45!important;
}

/* One generic Back-to-Top control for Expertise, Studio and Contact. */
.tca-v35-root .site-footer{position:relative!important;}
.tca-v35-root .tca-global-backtop{
  position:absolute!important;
  left:var(--tca-global-backtop-left,calc(100% - 14px))!important;
  right:auto!important;
  top:-40px!important;
  bottom:auto!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--tca-charcoal,#3D3D3D)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:none!important;
  transition:opacity .2s ease,color .25s ease,transform .25s ease!important;
  z-index:30!important;
}
.tca-v35-root .tca-global-backtop.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.tca-v35-root .tca-global-backtop:hover{
  color:var(--tca-gold,#B89B5E)!important;
  transform:translateY(-2px)!important;
}
.tca-v35-root .tca-global-backtop .tca-backtop-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  fill:currentColor!important;
}
/* Work and Journal already have their reader-aware arrow. */
body:has(.tca-wg-backtop) .tca-global-backtop{display:none!important;}

@media(max-width:760px){
  :root{
    --tca-editorial-heading-size:18px;
    --tca-editorial-body-size:17px;
    --tca-editorial-line-height:1.65;
  }
  .tca-v35-root .tca-global-backtop{top:-36px!important;width:26px!important;height:26px!important;}
}

/* =====================================================================
   TCA 12.1 — MINIMAL FRAMED HOME SLIDER
   One full-screen gallery only. The white shell is the frame.
   ===================================================================== */
body:has(.tca-home-root--gallery){background:#fff!important}
.tca-home-root--gallery{min-height:100svh;background:#fff;color:#3D3D3D}
/* v15.6.13 — removed per direct instruction: user does not want the white
   mask behind the dropdown at all, even scoped to open-state only. */
.tca-home-gallery-page{
  padding:calc(var(--tca-header-h) + 34px) clamp(22px,3.25vw,62px) clamp(34px,4vw,64px);
  background:#fff;
}

.tca-home-gallery{width:100%;display:flex;justify-content:center}
.tca-home-gallery-frame{
  width:min(100%,calc((100svh - var(--tca-header-h) - 170px) * 1.618));
  max-width:1500px;
  min-width:0;
  padding:clamp(14px,1.5vw,24px);
  background:#fff;
  box-sizing:border-box;
}
.tca-home-gallery-stage{
  position:relative;
  width:100%;
  aspect-ratio:1.618 / 1;
  overflow:hidden;
  background:#ececec;
}
.tca-home-slide{
  position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 1.35s cubic-bezier(.2,.7,.2,1);
}
.tca-home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.tca-home-slide img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.008);transition:transform 10s linear}
.tca-home-slide.is-active img{transform:scale(1.035)}
.tca-home-slide figcaption{
  position:absolute;left:clamp(20px,3vw,48px);bottom:clamp(20px,3vw,44px);z-index:3;
  max-width:min(620px,72%);margin:0;color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.34);
  font:500 clamp(21px,2.1vw,36px)/1.2 'Urbanist',sans-serif;letter-spacing:-.015em;
}
.tca-home-gallery-foot{min-height:42px;display:flex;justify-content:flex-end;align-items:flex-end;padding-top:14px}
.tca-home-slider-work{color:#3D3D3D;text-decoration:none;font:500 13px/1.2 'Urbanist',sans-serif;white-space:nowrap}
.tca-home-slider-work span{margin-left:7px}.tca-home-slider-work:hover{color:#B89B5E}
.tca-home-gallery--empty .tca-home-gallery-stage{min-height:380px}
.tca-home-slider-empty-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:10px;width:min(520px,80%);text-align:center;font-family:'Urbanist',sans-serif}.tca-home-slider-empty-copy strong{font-size:22px}.tca-home-slider-empty-copy span{font-size:16px;color:#777;line-height:1.5}
@media(max-width:760px){
 .tca-home-gallery-page{padding:calc(var(--tca-header-h) + 18px) 14px 30px}
 
 .tca-home-gallery-frame{width:100%;padding:10px}
 .tca-home-gallery-stage{aspect-ratio:1 / 1.18}
 .tca-home-slide figcaption{left:18px;right:18px;bottom:18px;max-width:none;font-size:22px}
 .tca-home-gallery-foot{min-height:38px;padding-top:10px}
}
@media(prefers-reduced-motion:reduce){.tca-home-slide,.tca-home-slide img{transition:none!important}}


/* TCA 12.3 — Home gallery shell: one viewport composition, footer visible, no Back to Top. */
.tca-home-root--gallery{display:flex;flex-direction:column;min-height:100svh}
.tca-home-root--gallery .tca-home-gallery-page{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding-top:calc(var(--tca-header-h) + 18px);padding-bottom:12px}
.tca-home-root--gallery .tca-home-gallery-frame{width:min(calc(100vw - clamp(44px,6.5vw,124px)),calc((100svh - var(--tca-header-h) - 225px) * 1.618));max-width:1500px;padding:clamp(10px,1.1vw,18px)}
.tca-home-root--gallery .tca-home-gallery-foot{min-height:30px;padding-top:8px}
.tca-home-root--gallery .site-footer{margin-top:auto!important}
.tca-home-root--gallery .tca-global-backtop{display:none!important}
@media(max-width:760px){
 .tca-home-root--gallery .tca-home-gallery-page{display:block;padding-top:calc(var(--tca-header-h) + 18px);padding-bottom:18px}
 .tca-home-root--gallery .tca-home-gallery-frame{width:100%;padding:10px}
}


/* =====================================================================
   TCA 12.4 — FINAL HOME GALLERY COMPOSITION
   Tagline outside left at image top datum; WORK → outside right at image
   bottom datum. Images are always fully visible inside the golden-ratio
   holder and are never cropped.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-frame{
  display:grid!important;
  grid-template-columns:clamp(190px,18vw,330px) minmax(0,1fr) clamp(86px,8vw,132px)!important;
  column-gap:clamp(18px,2.2vw,42px)!important;
  align-items:stretch!important;
  width:min(calc(100vw - clamp(44px,6.5vw,124px)),calc((100svh - var(--tca-header-h) - 205px) * 2.05))!important;
  max-width:1680px!important;
  padding:clamp(10px,1.1vw,18px)!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  grid-column:2;
  grid-row:1;
  aspect-ratio:1.618 / 1!important;
  overflow:hidden!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  transition:none!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-slide.is-active img{transform:none!important}
.tca-home-root--gallery .tca-home-slide figcaption{display:none!important}
.tca-home-gallery-caption-rail{
  grid-column:1;
  grid-row:1;
  position:relative;
  align-self:stretch;
  min-width:0;
}
.tca-home-gallery-caption{
  position:absolute;
  inset:0 0 auto 0;
  margin:0;
  opacity:0;
  visibility:hidden;
  color:#3D3D3D;
  font:500 clamp(18px,1.45vw,25px)/1.28 'Urbanist',sans-serif;
  letter-spacing:-.012em;
  max-width:100%;
  transition:opacity 1.1s cubic-bezier(.2,.7,.2,1);
}
.tca-home-gallery-caption.is-active{opacity:1;visibility:visible}
.tca-home-gallery-work-rail{
  grid-column:3;
  grid-row:1;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding-bottom:0;
}
.tca-home-root--gallery .tca-home-slider-work{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#3D3D3D;
  text-decoration:none;
  font:400 13px/1 'Urbanist',sans-serif!important;
  letter-spacing:.02em;
  white-space:nowrap;
}
.tca-home-root--gallery .tca-home-slider-work span{margin:0;transition:transform .22s ease}
.tca-home-root--gallery .tca-home-slider-work:hover{color:#B89B5E}
.tca-home-root--gallery .tca-home-slider-work:hover span{transform:translateX(4px)}
.tca-home-root--gallery .tca-home-gallery-foot{display:none!important}
@media(max-width:900px){
 .tca-home-root--gallery .tca-home-gallery-frame{
   grid-template-columns:1fr auto!important;
   grid-template-rows:auto auto!important;
   row-gap:14px!important;
   column-gap:18px!important;
   width:100%!important;
 }
 .tca-home-root--gallery .tca-home-gallery-caption-rail{grid-column:1;grid-row:1;min-height:52px}
 .tca-home-root--gallery .tca-home-gallery-caption{font-size:18px;max-width:560px}
 .tca-home-root--gallery .tca-home-gallery-stage{grid-column:1 / -1;grid-row:2;aspect-ratio:1.618 / 1!important}
 .tca-home-root--gallery .tca-home-gallery-work-rail{grid-column:2;grid-row:1;align-items:flex-start;justify-content:flex-end;padding-top:3px}
}
@media(max-width:600px){
 .tca-home-root--gallery .tca-home-gallery-stage{aspect-ratio:1 / 1.12!important}
 .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:66px}
 .tca-home-root--gallery .tca-home-gallery-caption{font-size:17px;line-height:1.3}
}

/* =====================================================================
   TCA 12.5 — LARGER GOLDEN-RATIO HOME IMAGE
   Enlarges the photograph while preserving the approved left tagline,
   right WORK → rail, full-image contain fit, visible footer and 1.618:1
   image holder.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-page{
  padding-top:calc(var(--tca-header-h) + 10px)!important;
  padding-right:14px!important;
  padding-bottom:6px!important;
  padding-left:14px!important;
}

.tca-home-root--gallery .tca-home-gallery-frame{
  grid-template-columns:clamp(140px,12vw,220px) minmax(0,1fr) clamp(62px,5.5vw,88px)!important;
  column-gap:clamp(12px,1.35vw,26px)!important;
  width:min(
    calc(100vw - 28px),
    calc((100svh - var(--tca-header-h) - 174px) * 1.618 + 350px)
  )!important;
  max-width:1900px!important;
  padding:clamp(6px,.65vw,11px)!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  aspect-ratio:1.618 / 1!important;
  min-width:0!important;
}
.tca-home-gallery-caption{
  font-size:clamp(17px,1.22vw,22px)!important;
}
.tca-home-root--gallery .tca-home-slider-work{
  font-size:13px!important;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-page{
    padding:calc(var(--tca-header-h) + 12px) 10px 14px!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100%!important;
    padding:6px!important;
  }
}


/* =====================================================================
   TCA 12.6 — IMMERSIVE GOLDEN HOME GALLERY
   The image is enlarged and remains 1.618:1. The footer follows below
   the gallery instead of compressing the first viewport. Full images are
   preserved with object-fit: contain. Slider cadence: 5s / 1s fade.
   ===================================================================== */
.tca-home-root--gallery{
  display:block!important;
  min-height:100svh!important;
}
.tca-home-root--gallery .tca-home-gallery-page{
  display:block!important;
  min-height:0!important;
  padding:calc(var(--tca-header-h) + 18px) 12px 42px!important;
}

.tca-home-root--gallery .tca-home-gallery{
  display:block!important;
  width:100%!important;
}
.tca-home-root--gallery .tca-home-gallery-frame{
  grid-template-columns:clamp(132px,11vw,210px) minmax(0,1fr) clamp(58px,5vw,84px)!important;
  column-gap:clamp(10px,1.1vw,22px)!important;
  width:calc(100vw - 24px)!important;
  max-width:2000px!important;
  margin:0 auto!important;
  padding:4px!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  width:100%!important;
  aspect-ratio:1.618 / 1!important;
  min-height:0!important;
}
.tca-home-root--gallery .tca-home-slide{
  transition:opacity 1s cubic-bezier(.2,.7,.2,1)!important;
}
.tca-home-root--gallery .tca-home-slide img{
  object-fit:contain!important;
  object-position:center center!important;
}
.tca-home-root--gallery .site-footer{
  margin-top:0!important;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-page{
    padding:calc(var(--tca-header-h) + 14px) 10px 30px!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100%!important;
    padding:4px!important;
  }
}

/* =====================================================================
   TCA 12.7 — HOME IMAGE BOTTOM WHITE FRAME
   Keeps a deliberate white gallery border beneath the enlarged golden-
   ratio image before the footer begins. The footer may remain below the
   first viewport, but the image composition always finishes in white.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-frame{
  padding-bottom:clamp(34px,3.1vw,58px)!important;
}
.tca-home-root--gallery .tca-home-gallery-page{
  padding-bottom:18px!important;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    padding-bottom:clamp(24px,6vw,42px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-page{
    padding-bottom:14px!important;
  }
}

/* =====================================================================
   TCA 12.8 — BALANCED FRAMED HOME VIEWPORT
   Slightly reduces the golden-ratio image so a clear white frame remains
   visible on every side. The Home composition fills the first viewport;
   the footer begins below it and appears only after scrolling.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-page{
  box-sizing:border-box!important;
  min-height:100svh!important;
  padding-top:calc(var(--tca-header-h) + 28px)!important;
  padding-right:clamp(30px,4vw,76px)!important;
  padding-bottom:clamp(48px,5vh,76px)!important;
  padding-left:clamp(30px,4vw,76px)!important;
}

.tca-home-root--gallery .tca-home-gallery-frame{
  width:min(
    calc(100vw - clamp(60px,8vw,152px)),
    calc((100svh - var(--tca-header-h) - 190px) * 1.618 + clamp(220px,16vw,320px))
  )!important;
  max-width:1720px!important;
  margin:0 auto!important;
  padding:clamp(10px,1vw,18px) clamp(10px,1vw,18px) clamp(34px,3.2vw,54px)!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  aspect-ratio:1.618 / 1!important;
  max-height:calc(100svh - var(--tca-header-h) - 190px)!important;
}
.tca-home-root--gallery .site-footer{
  margin-top:0!important;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + 20px) 18px 42px!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100%!important;
    padding:8px 8px 30px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    max-height:none!important;
  }
}


/* =====================================================================
   TCA 13.0 — HOME SHOWCASE (IMAGE + SHORT WALKTHROUGH)
   Larger responsive golden-ratio holder, complete uncropped media,
   desktop side datums, and dedicated iPad/mobile compositions.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-page{
  min-height:100svh!important;
  padding:calc(var(--tca-header-h) + 20px) clamp(20px,2.5vw,46px) clamp(44px,5vh,72px)!important;
}
.tca-home-root--gallery .tca-home-gallery-frame{
  grid-template-columns:clamp(130px,11vw,210px) minmax(0,1fr) clamp(64px,5vw,92px)!important;
  column-gap:clamp(12px,1.25vw,24px)!important;
  width:min(calc(100vw - clamp(40px,5vw,92px)),1900px)!important;
  max-width:1900px!important;
  padding:clamp(7px,.7vw,12px) clamp(7px,.7vw,12px) clamp(34px,3vw,52px)!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  aspect-ratio:1.618 / 1!important;
  width:100%!important;
  max-height:none!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-slide img,
.tca-home-root--gallery .tca-home-slide video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-slide video{pointer-events:none}
.tca-home-root--gallery .tca-home-slide{transition:opacity 1s cubic-bezier(.2,.7,.2,1)!important}

/* iPad landscape keeps the architectural left/image/right composition. */
@media (min-width:901px) and (max-width:1180px){
 .tca-home-root--gallery .tca-home-gallery-page{padding-left:18px!important;padding-right:18px!important}
 .tca-home-root--gallery .tca-home-gallery-frame{grid-template-columns:120px minmax(0,1fr) 70px!important;column-gap:14px!important;width:100%!important}
 .tca-home-gallery-caption{font-size:17px!important}
}

/* iPad portrait and mobile: tagline above, golden-ratio media, WORK below-right. */
@media(max-width:900px){
 .tca-home-root--gallery .tca-home-gallery-page{min-height:100svh!important;padding:calc(var(--tca-header-h) + 18px) clamp(14px,3.5vw,28px) 42px!important}
 
 .tca-home-root--gallery .tca-home-gallery-frame{
   display:grid!important;
   grid-template-columns:1fr auto!important;
   grid-template-rows:auto auto auto!important;
   width:100%!important;
   padding:8px 8px 30px!important;
   row-gap:14px!important;
   column-gap:12px!important;
 }
 .tca-home-root--gallery .tca-home-gallery-caption-rail{grid-column:1 / -1!important;grid-row:1!important;min-height:48px!important}
 .tca-home-root--gallery .tca-home-gallery-caption{font-size:18px!important;line-height:1.28!important;max-width:620px!important}
 .tca-home-root--gallery .tca-home-gallery-stage{grid-column:1 / -1!important;grid-row:2!important;aspect-ratio:1.618 / 1!important}
 .tca-home-root--gallery .tca-home-gallery-work-rail{grid-column:2!important;grid-row:3!important;align-items:flex-start!important;justify-content:flex-end!important;padding:0!important}
}
@media(max-width:600px){
 .tca-home-root--gallery .tca-home-gallery-page{padding-left:10px!important;padding-right:10px!important;padding-bottom:34px!important}
 .tca-home-root--gallery .tca-home-gallery-frame{padding:6px 6px 26px!important;row-gap:12px!important}
 .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:44px!important}
 .tca-home-root--gallery .tca-home-gallery-caption{font-size:16px!important;line-height:1.3!important}
 .tca-home-root--gallery .tca-home-slider-work{font-size:12px!important}
}

/* =====================================================================
   TCA 13.2 — LARGER HOME SHOWCASE / HALF BOTTOM FRAME
   Large golden-ratio media with a visible white border below. The tagline
   aligns with the TCA wordmark's left edge. The WORK arrow tip aligns with
   the hamburger button's left edge. Footer remains below the first view.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-page{
  box-sizing:border-box!important;
  min-height:100svh!important;
  padding-top:calc(var(--tca-header-h) + clamp(20px,2.2vh,34px))!important;
  padding-right:var(--tca-edge)!important;
  padding-bottom:clamp(14px,2.25vh,35px)!important;
  padding-left:var(--tca-edge)!important;
}

.tca-home-root--gallery .tca-home-gallery-frame{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:clamp(150px,11.5vw,230px) minmax(0,1fr) clamp(54px,4.8vw,82px)!important;
  column-gap:clamp(12px,1.25vw,24px)!important;
  width:min(
    calc(100vw - (2 * var(--tca-edge))),
    calc((100svh - var(--tca-header-h) - clamp(92px,11vh,145px)) * 1.618 + clamp(240px,18vw,350px))
  )!important;
  max-width:1960px!important;
  margin:0 auto!important;
  padding:0 0 clamp(12px,2.25vh,36px)!important;
  align-items:stretch!important;
}
.tca-home-root--gallery .tca-home-gallery-caption-rail{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  margin:0!important;
  padding:0!important;
}
.tca-home-root--gallery .tca-home-gallery-caption{
  inset:0 auto auto 0!important;
  max-width:100%!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  aspect-ratio:1.618 / 1!important;
  max-height:calc(100svh - var(--tca-header-h) - clamp(92px,11vh,145px))!important;
  min-width:0!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-gallery-work-rail{
  grid-column:3!important;
  grid-row:1!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  box-sizing:border-box!important;
  padding:0 30px 0 0!important;
}
.tca-home-root--gallery .tca-home-slider-work{
  margin:0!important;
  transform:none!important;
}
.tca-home-root--gallery .tca-home-slide img,
.tca-home-root--gallery .tca-home-slide video{
  object-fit:contain!important;
  object-position:center center!important;
}
.tca-home-root--gallery .site-footer{
  margin-top:0!important;
}

/* iPad landscape — retain side datums while maximizing the media. */
@media (min-width:901px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-page{
    padding-left:var(--tca-edge)!important;
    padding-right:var(--tca-edge)!important;
    padding-bottom:clamp(14px,2vh,26px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    grid-template-columns:clamp(112px,13vw,150px) minmax(0,1fr) 62px!important;
    column-gap:12px!important;
    width:100%!important;
    padding-bottom:clamp(12px,2vh,24px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{padding-right:30px!important}
}

/* iPad portrait and mobile — clean stacked composition, same edge datums. */
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + 18px) var(--tca-edge) clamp(34px,6vh,58px)!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-rows:auto auto auto!important;
    width:100%!important;
    max-width:none!important;
    row-gap:clamp(12px,2.5vw,18px)!important;
    column-gap:12px!important;
    padding:0 0 clamp(18px,4vh,34px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1 / -1!important;
    grid-row:1!important;
    min-height:48px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1 / -1!important;
    grid-row:2!important;
    aspect-ratio:1.618 / 1!important;
    max-height:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:2!important;
    grid-row:3!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    padding:0 30px 0 0!important;
  }
}
@media(max-width:600px){
  .tca-home-root--gallery .tca-home-gallery-page{
    padding-left:var(--tca-edge)!important;
    padding-right:var(--tca-edge)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    padding-bottom:clamp(16px,4vh,30px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    font-size:17px!important;
    line-height:1.3!important;
  }
}

/* =====================================================================
   TCA 13.3 — FINAL RESPONSIVE HOME SHOWCASE GRID
   Keeps the approved top clearance, reduces the side and bottom frame to
   a slim white border, and gives the golden-ratio media the maximum
   available area. The philosophy rail sits directly below the TCA mark;
   WORK → sits below the hamburger and aligns to the media's bottom datum.
   ===================================================================== */
@media (min-width:901px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding-top:calc(var(--tca-header-h) + clamp(20px,2.2vh,34px))!important;
    padding-right:clamp(14px,1.35vw,26px)!important;
    padding-bottom:clamp(7px,1vh,14px)!important;
    padding-left:clamp(14px,1.35vw,26px)!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    display:grid!important;
    grid-template-columns:clamp(122px,9vw,178px) minmax(0,1fr) clamp(58px,4.4vw,76px)!important;
    grid-template-rows:auto!important;
    column-gap:clamp(8px,.8vw,15px)!important;
    width:min(
      calc(100vw - clamp(28px,2.7vw,52px)),
      calc((100svh - var(--tca-header-h) - clamp(70px,8vh,110px)) * 1.618 + clamp(196px,14vw,270px))
    )!important;
    max-width:2040px!important;
    margin:0 auto!important;
    padding:0 0 clamp(6px,.9vh,12px)!important;
    align-items:stretch!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch!important;
    padding:0!important;
    margin:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    max-width:100%!important;
    font-size:clamp(16px,1.05vw,20px)!important;
    line-height:1.3!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    aspect-ratio:1.618 / 1!important;
    max-height:calc(100svh - var(--tca-header-h) - clamp(70px,8vh,110px))!important;
    min-width:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    padding:0 18px 0 0!important;
    margin:0!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    font-size:13px!important;
    line-height:1!important;
    margin:0!important;
  }
}

/* iPad landscape: preserve the side-datum composition with a larger stage. */
@media (min-width:901px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    grid-template-columns:108px minmax(0,1fr) 58px!important;
    column-gap:9px!important;
    width:calc(100vw - 28px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:16px!important}
  .tca-home-root--gallery .tca-home-gallery-work-rail{padding-right:12px!important}
}

/* iPad portrait: slim frame, stacked caption/media/action. */
@media (min-width:601px) and (max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + 18px) 14px 18px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100%!important;
    padding:0 0 10px!important;
    row-gap:10px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:42px!important}
  .tca-home-root--gallery .tca-home-gallery-stage{aspect-ratio:1.618 / 1!important}
  .tca-home-root--gallery .tca-home-gallery-work-rail{padding-right:12px!important}
}

/* Mobile: keep the complete media visible with a narrow white frame. */
@media (max-width:600px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + 14px) 10px 15px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100%!important;
    padding:0 0 8px!important;
    row-gap:9px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:40px!important}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:16px!important;line-height:1.28!important}
  .tca-home-root--gallery .tca-home-gallery-stage{aspect-ratio:1.618 / 1!important}
  .tca-home-root--gallery .tca-home-gallery-work-rail{padding-right:8px!important}
}

/* =====================================================================
   TCA 13.4 — HOME SHOWCASE TEXT-POSITION REFINEMENT ONLY
   No header, footer, image-holder, golden-ratio, spacing, slider or
   responsive media geometry is changed here. This block only gives the
   left philosophy text more usable width while retaining its approved
   top/left datum, and locks WORK → to the approved right-side position.
   ===================================================================== */
@media (min-width:901px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    position:relative!important;
    overflow:visible!important;
    width:clamp(220px,15vw,250px)!important;
    max-width:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    width:clamp(220px,15vw,250px)!important;
    max-width:clamp(220px,15vw,250px)!important;
    white-space:normal!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    position:relative!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail,
  .tca-home-root--gallery .tca-home-gallery-caption{
    width:190px!important;
    max-width:190px!important;
  }
}

/* =====================================================================
   TCA 13.5 — HOME TEXT RAIL SEPARATION ONLY
   Moves only the left philosophy rail farther left and WORK → farther
   right so neither overlaps the golden-ratio media. Header, footer,
   media size, proportions, slider timing and all vertical datums remain
   unchanged.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    transform:translateX(calc(-1 * clamp(74px,5.8vw,112px)))!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption,
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    width:clamp(220px,14vw,250px)!important;
    max-width:clamp(220px,14vw,250px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    transform:translateX(clamp(72px,5.4vw,104px))!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    transform:translateX(-48px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    transform:translateX(42px)!important;
  }
}


/* TCA 13.7 Typography Standard */
.project-rich-text,
.tca-journal-clean-intro,
.tca-journal-clean-copy,
.tca-journal-rich-text{
  font-size:17px !important;
  line-height:1.75 !important;
}
.project-text-panel h3,
.tca-journal-clean-heading h3,
.tca-journal-clean-heading h2{
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}


/* ==================================================================
   TCA 13.11 — CONTACT USES THE WORK-GRID DATUM
   Contact content is no longer tied to the narrower footer datum.
   Header and footer remain unchanged.
   ================================================================== */
.tca-contact-page{
  --tca-contact-work-w:min(var(--tca-grid-w,1040px),calc(100vw - 96px))!important;
}
.tca-contact-page-heading,
.tca-contact-intro-block,
.tca-contact-hero-shell,
.tca-contact-enquiry,
.tca-contact-location{
  width:var(--tca-contact-work-w)!important;
  max-width:var(--tca-contact-work-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.tca-contact-hero,
.tca-contact-map,
.tca-contact-map-placeholder{
  width:100%!important;
  max-width:100%!important;
}
.tca-contact-section-heading,
.tca-contact-enquiry-content,
.tca-contact-form-wrap,
.tca-contact-form{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:1120px){
  .tca-contact-page{--tca-contact-work-w:calc(100vw - 40px)!important}
}
@media(max-width:760px){
  .tca-contact-page{--tca-contact-work-w:calc(100vw - 28px)!important}
}

/* ==============================================================
   v13.12 — Expertise + Studio editorial horizontal chapters
   ============================================================= */
.tca-editorial-page{background:#fff;color:#3d3d3d;overflow-x:clip}
.tca-editorial-main{width:100%;box-sizing:border-box;padding:55px clamp(28px,6.8vw,116px) 110px}
.tca-editorial-page-heading{margin:0 0 42px}
.tca-editorial-page-heading h1{margin:0;font:600 clamp(42px,4.5vw,64px)/1 "League Spartan",sans-serif;letter-spacing:-.035em;color:#3d3d3d}
.tca-editorial-page-heading>span{display:block;width:34px;height:1px;background:#b89b5e;margin-top:21px}
.tca-editorial-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,7vw,112px);max-width:1040px;margin-bottom:42px}
.tca-editorial-columns p{margin:0;font:400 17px/1.72 "Urbanist",sans-serif;color:#3d3d3d;white-space:normal}
.tca-editorial-columns p:empty{display:block}
.tca-editorial-intro{margin-bottom:55px}
.tca-editorial-chapter{margin:0 0 110px}
.tca-editorial-chapter-head{display:flex;align-items:baseline;gap:18px;margin-bottom:28px}
.tca-editorial-index{margin:0;color:#b89b5e;font:500 12px/1 "Urbanist",sans-serif;letter-spacing:.1em}
.tca-editorial-chapter-head h2{margin:0;font:500 clamp(32px,3vw,46px)/1 "League Spartan",sans-serif;letter-spacing:-.025em;color:#3d3d3d}
.tca-editorial-gallery{display:flex;gap:10px;width:calc(100vw - clamp(28px,6.8vw,116px));max-width:none;overflow-x:auto;overflow-y:hidden;padding:0 0 16px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b89b5e #eee;cursor:grab;overscroll-behavior-x:contain;touch-action:pan-x}
.tca-editorial-gallery.is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
.tca-editorial-gallery figure{flex:0 0 clamp(360px,31vw,560px);aspect-ratio:4/3;margin:0;overflow:hidden;background:#f7f7f7;scroll-snap-align:start}
.tca-editorial-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tca-editorial-gallery figure:hover img{transform:scale(1.018)}
.tca-editorial-placeholder{display:grid;place-items:center;min-height:310px;width:min(100%,560px);padding:28px;text-align:center;background:#f7f7f7;color:#777;font:400 14px/1.5 "Urbanist",sans-serif;box-sizing:border-box}
@media(max-width:900px){
 .tca-editorial-main{padding:42px 28px 80px}
 .tca-editorial-columns{gap:34px}
 .tca-editorial-gallery{width:calc(100vw - 28px)}
 .tca-editorial-gallery figure{flex-basis:72vw}
}
@media(max-width:700px){
 .tca-editorial-main{padding:28px 14px 65px}
 .tca-editorial-page-heading{margin-bottom:28px}
 .tca-editorial-columns{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
 .tca-editorial-columns p{font-size:16px;line-height:1.68}
 .tca-editorial-intro{margin-bottom:42px}
 .tca-editorial-chapter{margin-bottom:72px}
 .tca-editorial-chapter-head{margin-bottom:21px}
 .tca-editorial-gallery{width:calc(100vw - 14px);gap:10px;padding-bottom:12px}
 .tca-editorial-gallery figure{flex-basis:84vw;aspect-ratio:4/3}
}


/* ==============================================================
   v15.7.59 — ONE SHARED EDITORIAL GRID
   Studio, Expertise and Contact use the same centred two-column field.
   The outer limits match the approved marked datum; one fixed responsive
   gutter keeps the centre spacing visually identical on every page.
   ============================================================= */
:root{
  --tca-editorial-copy-size:17px;
  --tca-editorial-copy-line:1.68;
  --tca-editorial-copy-color:#3d3d3d;
  /* v15.7.57 — marked architectural datum:
     begin only after the completed TCA wordmark, never beneath it; mirror
     that exact outer inset on the right. Both text tracks stay mathematically
     equal and use the same centre gutter on all three pages. */
  /* v15.7.59 — exact TCA datum: begin after the fixed wordmark, never below it.
     Header edge + 91px logo width + 10px breathing room; right side mirrors it. */
  --tca-editorial-edge:calc(var(--tca-edge) + 101px);
  --tca-editorial-wide:calc(100vw - (2 * var(--tca-editorial-edge)));
  --tca-editorial-text-gap:clamp(56px,4.25vw,76px);
}
.tca-editorial-main,
.tca-contact-main{
  max-width:none;
  width:100%;
  margin-inline:auto;
  padding-inline:0;
}
.tca-editorial-page-heading,
.tca-editorial-columns,
.tca-editorial-chapter-head,
.tca-contact-page-heading,
.tca-contact-intro-block{
  width:var(--tca-editorial-wide)!important;
  max-width:var(--tca-editorial-wide)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
.tca-editorial-page-heading{margin-bottom:48px}
.tca-editorial-columns,
.tca-contact-editorial-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:var(--tca-editorial-text-gap)!important;
  row-gap:0!important;
  align-items:start!important;
  justify-content:stretch!important;
}
.tca-contact-top-copy.tca-contact-editorial-columns{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.tca-editorial-columns p,
.tca-contact-editorial-columns p,
.tca-contact-top-copy{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-family:"Urbanist",sans-serif!important;
  font-size:var(--tca-editorial-copy-size)!important;
  font-weight:400!important;
  line-height:var(--tca-editorial-copy-line)!important;
  letter-spacing:0!important;
  color:var(--tca-editorial-copy-color)!important;
  white-space:normal!important;
}
.tca-editorial-intro{margin-bottom:68px}
.tca-editorial-chapter{margin-bottom:124px}
.tca-editorial-chapter-head{margin-bottom:34px}
.tca-editorial-gallery{
  width:min(1460px,calc(100vw - 112px));
  margin-left:auto;
  margin-right:auto;
  margin-top:clamp(72px,5vw,92px);
  padding-bottom:18px;
}
.tca-editorial-gallery figure{
  flex:0 0 calc((100% - 20px)/3);
  min-width:360px;
  max-width:none;
}
.tca-editorial-placeholder{
  width:min(1460px,calc(100vw - 112px));
  max-width:none;
  margin-inline:auto;
  min-height:320px;
}
/* Studio founder image remains first and centred. */
.tca-studio-founder-first{margin-top:0!important;margin-bottom:clamp(72px,5vw,96px)!important}
.tca-studio-intro-after-founder{margin-bottom:clamp(88px,6vw,118px)!important}

@media(max-width:1100px){
  :root{--tca-editorial-copy-size:16.5px;--tca-editorial-edge:28px;--tca-editorial-wide:calc(100vw - (2 * var(--tca-editorial-edge)));--tca-editorial-text-gap:56px}
  .tca-editorial-gallery{width:calc(100vw - 56px)}
  .tca-editorial-gallery figure{flex-basis:calc((100% - 10px)/2);min-width:340px}
}
@media(max-width:760px){
  :root{--tca-editorial-copy-size:16px;--tca-editorial-copy-line:1.66;--tca-editorial-edge:14px;--tca-editorial-wide:calc(100vw - (2 * var(--tca-editorial-edge)))}
  .tca-editorial-columns,
  .tca-contact-editorial-columns{grid-template-columns:1fr!important;gap:20px!important}
  .tca-editorial-gallery{width:calc(100vw - 28px)}
  .tca-editorial-gallery figure{flex-basis:84vw;min-width:0}
  .tca-studio-founder-first{margin-bottom:48px!important}
  .tca-studio-intro-after-founder{margin-bottom:60px!important}
}


/* ==============================================================
   v13.14 — Golden-ratio editorial media + centred founder portrait
   Expertise and Studio galleries preserve every image without crop.
   ============================================================== */
.tca-editorial-gallery figure{
  aspect-ratio:1.61803398875 / 1 !important;
  background:#fff;
}
.tca-editorial-gallery img{
  object-fit:contain !important;
  object-position:center center;
  background:#fff;
  transform:none !important;
}
.tca-editorial-gallery figure:hover img{transform:none !important}

.tca-studio-founder-portrait{
  width:min(var(--tca-grid-w,1040px),calc(100vw - 96px));
  aspect-ratio:1.61803398875 / 1;
  margin:0 auto 110px;
  overflow:hidden;
  text-align:center;
  background:#fff;
}
.tca-studio-founder-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  margin:0 auto;
  background:#fff;
}
.tca-studio-founder-portrait figcaption{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin-top:18px;
  color:#3d3d3d;
  font-family:"Urbanist",sans-serif;
}
.tca-studio-founder-portrait figcaption strong{
  font-size:17px;
  line-height:1.3;
  font-weight:600;
}
.tca-studio-founder-portrait figcaption span{
  font-size:15px;
  line-height:1.4;
  font-weight:400;
}
.tca-studio-founder-placeholder{
  width:min(430px,42vw);
  min-height:420px;
  margin:0 auto 110px;
  display:grid;
  place-items:center;
  padding:28px;
  box-sizing:border-box;
  background:#f7f7f7;
  color:#777;
  text-align:center;
  font:400 14px/1.5 "Urbanist",sans-serif;
}
@media(max-width:900px){
  .tca-studio-founder-portrait{width:calc(100vw - 56px);margin-bottom:82px}
  .tca-studio-founder-placeholder{width:min(420px,62vw);margin-bottom:82px}
}
@media(max-width:700px){
  .tca-editorial-gallery figure{aspect-ratio:1.61803398875 / 1 !important}
  .tca-studio-founder-portrait{width:calc(100vw - 28px);margin-bottom:65px}
  .tca-studio-founder-placeholder{width:min(86vw,380px);margin-bottom:65px}
  .tca-studio-founder-placeholder{min-height:360px}
}

/* TCA 13.15 — preserve layout while media moves through restrained Z-depth. */
[data-tca-global-depth]{
  transform-style:preserve-3d;
  backface-visibility:hidden;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  [data-tca-global-depth]{transform:none!important;will-change:auto!important;}
}

/* v13.18 — centred Studio portrait without caption; keep editorial gallery scrolling natural. */
.tca-studio-founder-portrait figcaption{display:none !important;}
.tca-editorial-gallery{overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;}
@media (max-width:900px){.tca-studio-founder-portrait{margin-left:auto;margin-right:auto;}}

/* v14.0 — adaptive Write Us form: one calm rhythm for projects, careers and general contact. */
.tca-contact-enquiry-lead{max-width:860px;margin:0 0 clamp(34px,4vw,60px)}
.tca-contact-enquiry-lead h2{margin:0 0 18px;font-family:"League Spartan",sans-serif;font-size:clamp(42px,5.4vw,88px);font-weight:500;line-height:.92;letter-spacing:-.04em}
.tca-contact-enquiry-lead p{max-width:760px;margin:0;font:400 clamp(17px,1.2vw,20px)/1.68 "Urbanist",sans-serif}
.tca-contact-enquiry-content{display:block;padding-top:0}
.tca-contact-form-wrap{width:min(100%,1120px)}
.tca-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(30px,4vw,64px);row-gap:clamp(28px,3vw,42px)}
.tca-contact-form label{margin:0;min-width:0}
.tca-contact-form label span{display:block;margin:0 0 14px;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.09em;line-height:1.35}
.tca-contact-form label span small{font:400 11px/1.35 "Urbanist",sans-serif;letter-spacing:.04em;text-transform:none;color:#777}
.tca-contact-form label span b{font-weight:400}
.tca-contact-form input,.tca-contact-form textarea,.tca-contact-form select{width:100%;min-height:48px;border:0;border-bottom:1px solid rgba(61,61,61,.45);border-radius:0;background:transparent;padding:11px 0 13px;color:#3d3d3d;font:400 17px/1.5 "Urbanist",sans-serif;outline:none;box-shadow:none}
.tca-contact-form select{appearance:auto;cursor:pointer}
.tca-contact-form textarea{min-height:170px;resize:vertical;padding-top:11px}
.tca-contact-form input:focus,.tca-contact-form textarea:focus,.tca-contact-form select:focus{border-bottom-color:#b89b5e}
.tca-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,42px) clamp(30px,4vw,64px)}
.tca-contact-fields[hidden]{display:none!important}
.tca-contact-fields .is-wide{grid-column:1/-1}
.tca-contact-file-field input[type=file]{padding:10px 0 12px;font-size:15px;cursor:pointer}
.tca-contact-submit-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:4px}
.tca-contact-submit-row p{max-width:470px;margin:0;color:#686868;font:400 14px/1.55 "Urbanist",sans-serif;text-align:right}
.tca-contact-form button{flex:0 0 auto}
@media(max-width:760px){
 .tca-contact-form,.tca-contact-fields{grid-template-columns:1fr}
 .tca-contact-form label.is-wide,.tca-contact-form .is-wide,.tca-contact-fields .is-wide{grid-column:auto}
 .tca-contact-submit-row{align-items:flex-start;flex-direction:column;gap:20px}
 .tca-contact-submit-row p{text-align:left}
}

/* v14.2 — clearer Contact field ownership and one-line submit datum. */
.tca-contact-form label > span{
  margin-bottom:6px!important;
}
.tca-contact-submit-row{
  align-items:baseline!important;
  gap:24px!important;
  padding-top:0!important;
}
.tca-contact-submit-row p{
  max-width:none!important;
  white-space:nowrap;
  line-height:1.3!important;
}
@media(max-width:760px){
  .tca-contact-submit-row{align-items:flex-start!important;gap:16px!important}
  .tca-contact-submit-row p{white-space:normal;text-align:left!important}
}

/* =====================================================================
   TCA 14.4 — CINEMATIC SCROLL-DRIVEN HOME GALLERY
   Keeps the approved golden-ratio stage and complete uncropped media.
   Slides travel horizontally; the active panel comes forward in Z while
   adjacent panels sit farther back. Vertical wheel navigation is handled
   in JS and releases to the page at the first/last panel.
   ===================================================================== */
.tca-home-root--gallery .tca-home-gallery-stage{
  perspective:1600px!important;
  perspective-origin:50% 50%!important;
  overflow:hidden!important;
  background:#fff!important;
  touch-action:pan-y pinch-zoom!important;
}
.tca-home-root--gallery .tca-home-slide{
  inset:0!important;
  display:block!important;
  opacity:0!important;
  visibility:visible!important;
  pointer-events:none!important;
  transform-origin:50% 50%!important;
  transform:translate3d(118%,0,-190px) scale(.91)!important;
  transition:
    transform .92s cubic-bezier(.22,.72,.18,1),
    opacity .7s ease!important;
  will-change:transform,opacity!important;
  z-index:1!important;
}
.tca-home-root--gallery .tca-home-slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate3d(0,0,0) scale(1)!important;
  z-index:4!important;
}
.tca-home-root--gallery .tca-home-slide.is-prev{
  opacity:.36!important;
  transform:translate3d(-88%,0,-240px) scale(.86)!important;
  z-index:2!important;
}
.tca-home-root--gallery .tca-home-slide.is-next{
  opacity:.36!important;
  transform:translate3d(88%,0,-240px) scale(.86)!important;
  z-index:2!important;
}
.tca-home-root--gallery .tca-home-slide.is-before{
  opacity:0!important;
  transform:translate3d(-125%,0,-320px) scale(.8)!important;
}
.tca-home-root--gallery .tca-home-slide.is-after{
  opacity:0!important;
  transform:translate3d(125%,0,-320px) scale(.8)!important;
}
.tca-home-root--gallery .tca-home-slide img,
.tca-home-root--gallery .tca-home-slide video{
  transform:none!important;
  transition:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.tca-home-root--gallery [data-tca-home-slider]{
  cursor:grab;
  overscroll-behavior-x:contain;
}
.tca-home-root--gallery [data-tca-home-slider].is-dragging{cursor:grabbing}

@media(max-width:900px){
  .tca-home-root--gallery .tca-home-slide.is-prev{
    opacity:.18!important;
    transform:translate3d(-94%,0,-190px) scale(.9)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    opacity:.18!important;
    transform:translate3d(94%,0,-190px) scale(.9)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .tca-home-root--gallery .tca-home-slide{
    transition:opacity .2s linear!important;
    transform:none!important;
  }
  .tca-home-root--gallery .tca-home-slide:not(.is-active){opacity:0!important}
}

/* HOME-ONLY PATCH FROM APPROVED 16.5.3; ALL NON-HOME v14.4 CODE REMAINS UNCHANGED. */
/* =====================================================================
   TCA 15.0 — EDITORIAL HOME GALLERY (OPTION 3)
   The central 1.618:1 panel remains dominant. Previous and next projects
   peek in by roughly ten percent and glide horizontally into the centre.
   Fixed philosophy and WORK rails, uncropped media, restrained Z-depth.
   ===================================================================== */
.tca-home-root--gallery{
  overflow-x:hidden!important;
}
.tca-home-root--gallery .tca-home-gallery-stage{
  perspective:1800px!important;
  overflow:hidden!important;
  isolation:isolate;
  touch-action:pan-y pinch-zoom!important;
}
.tca-home-root--gallery .tca-home-slide{
  opacity:0!important;
  transform:translate3d(112%,0,-70px) scale(.975)!important;
  transition:
    transform 1.02s cubic-bezier(.65,0,.35,1),
    opacity .34s ease!important;
  will-change:transform,opacity!important;
}
.tca-home-root--gallery .tca-home-slide.is-active{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  z-index:4!important;
}
.tca-home-root--gallery .tca-home-slide.is-prev{
  opacity:.56!important;
  transform:translate3d(-91%,0,-42px) scale(.975)!important;
  z-index:2!important;
}
.tca-home-root--gallery .tca-home-slide.is-next{
  opacity:.56!important;
  transform:translate3d(91%,0,-42px) scale(.975)!important;
  z-index:2!important;
}
.tca-home-root--gallery .tca-home-slide.is-before{
  opacity:0!important;
  transform:translate3d(-112%,0,-80px) scale(.965)!important;
}
.tca-home-root--gallery .tca-home-slide.is-after{
  opacity:0!important;
  transform:translate3d(112%,0,-80px) scale(.965)!important;
}
.tca-home-root--gallery .tca-home-slide img,
.tca-home-root--gallery .tca-home-slide video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  transition:none!important;
  background:#fff!important;
}
.tca-home-root--gallery .tca-home-gallery-caption-rail,
.tca-home-root--gallery .tca-home-gallery-work-rail{
  position:relative;
  z-index:8;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-slide.is-prev{
    opacity:.34!important;
    transform:translate3d(-94%,0,-30px) scale(.982)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    opacity:.34!important;
    transform:translate3d(94%,0,-30px) scale(.982)!important;
  }
}
@media(max-width:700px){
  .tca-home-root--gallery .tca-home-slide.is-prev,
  .tca-home-root--gallery .tca-home-slide.is-next{
    opacity:.22!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .tca-home-root--gallery .tca-home-slide{
    transition:opacity .2s linear!important;
    transform:none!important;
  }
  .tca-home-root--gallery .tca-home-slide:not(.is-active){opacity:0!important}
}


/* =====================================================================
   TCA 15.1 — FINAL BIG-STYLE HOME GALLERY REFINEMENT
   Narrow neighbour peeks, quieter 20-second rhythm, fixed text rails and
   a thin gold progress line. Golden-ratio stage and contain-fit are kept.
   ===================================================================== */
.tca-home-root--gallery .tca-home-slide{
  transition:
    transform 1.08s cubic-bezier(.65,0,.35,1),
    opacity .38s ease!important;
}
.tca-home-root--gallery .tca-home-slide.is-prev{
  opacity:.48!important;
  transform:translate3d(-94%,0,-28px) scale(.982)!important;
}
.tca-home-root--gallery .tca-home-slide.is-next{
  opacity:.48!important;
  transform:translate3d(94%,0,-28px) scale(.982)!important;
}
.tca-home-root--gallery .tca-home-slide.is-before{
  transform:translate3d(-116%,0,-55px) scale(.972)!important;
}
.tca-home-root--gallery .tca-home-slide.is-after{
  transform:translate3d(116%,0,-55px) scale(.972)!important;
}
.tca-home-root--gallery .tca-home-gallery-progress{
  grid-column:2;
  width:100%;
  height:2px;
  overflow:hidden;
  align-self:start;
  background:rgba(184,155,94,.16);
  margin-top:clamp(10px,1vw,16px);
  pointer-events:none;
}
.tca-home-root--gallery .tca-home-gallery-progress i{
  display:block;
  width:100%;
  height:100%;
  background:#B89B5E;
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}
@keyframes tcaHomeProgress{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
[data-tca-home-slider][data-direction="backward"] .tca-home-gallery-progress i{
  transform-origin:right center;
}
@media(max-width:900px){
  .tca-home-root--gallery .tca-home-slide.is-prev{
    opacity:.28!important;
    transform:translate3d(-96%,0,-18px) scale(.988)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    opacity:.28!important;
    transform:translate3d(96%,0,-18px) scale(.988)!important;
  }
}
@media(max-width:700px){
  .tca-home-root--gallery .tca-home-gallery-progress{display:none}
  .tca-home-root--gallery .tca-home-slide.is-prev,
  .tca-home-root--gallery .tca-home-slide.is-next{opacity:.15!important}
}
@media(prefers-reduced-motion:reduce){
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}

/* =====================================================================
   TCA 15.2 — EXACT 15 / 70 / 15 EDITORIAL HOME GALLERY
   One centred golden-ratio panel occupies 70% of the gallery viewport.
   The previous and next golden-ratio panels each reveal exactly 15% at
   the outer edges. Movement is transform-only: no fade and no jump.
   ===================================================================== */
@media (min-width:901px){
  .tca-home-root--gallery .tca-home-gallery-stage{
    aspect-ratio:2.3114771268 / 1!important; /* 1.618 / .70 */
    overflow:hidden!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    top:50%!important;
    bottom:auto!important;
    left:15%!important;
    right:auto!important;
    width:70%!important;
    height:auto!important;
    aspect-ratio:1.61803398875 / 1!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(200%,-50%,-40px) scale(.985)!important;
    transform-origin:50% 50%!important;
    transition:transform 1.05s cubic-bezier(.65,0,.35,1)!important;
    will-change:transform!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    opacity:1!important;
    transform:translate3d(0,-50%,0) scale(1)!important;
    z-index:4!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    opacity:1!important;
    transform:translate3d(-100%,-50%,-20px) scale(.99)!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    opacity:1!important;
    transform:translate3d(100%,-50%,-20px) scale(.99)!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    opacity:1!important;
    transform:translate3d(-200%,-50%,-40px) scale(.985)!important;
    z-index:1!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    opacity:1!important;
    transform:translate3d(200%,-50%,-40px) scale(.985)!important;
    z-index:1!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}
@media (min-width:701px) and (max-width:900px){
  .tca-home-root--gallery .tca-home-gallery-stage{
    aspect-ratio:2.0225424859 / 1!important; /* 1.618 / .80 */
    overflow:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    top:50%!important;
    bottom:auto!important;
    left:10%!important;
    right:auto!important;
    width:80%!important;
    height:auto!important;
    aspect-ratio:1.61803398875 / 1!important;
    opacity:1!important;
    transform:translate3d(200%,-50%,-24px) scale(.99)!important;
    transition:transform .9s cubic-bezier(.65,0,.35,1)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{transform:translate3d(0,-50%,0) scale(1)!important}
  .tca-home-root--gallery .tca-home-slide.is-prev{opacity:1!important;transform:translate3d(-100%,-50%,-12px) scale(.995)!important}
  .tca-home-root--gallery .tca-home-slide.is-next{opacity:1!important;transform:translate3d(100%,-50%,-12px) scale(.995)!important}
  .tca-home-root--gallery .tca-home-slide.is-before{opacity:1!important;transform:translate3d(-200%,-50%,-24px) scale(.99)!important}
  .tca-home-root--gallery .tca-home-slide.is-after{opacity:1!important;transform:translate3d(200%,-50%,-24px) scale(.99)!important}
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}
@media (max-width:700px){
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .tca-home-root--gallery .tca-home-slide{transition:none!important}
}


/* =====================================================================
   TCA 15.3 — APPROVED LARGE EDITORIAL HOME
   Header/footer are untouched. The Home composition uses a tall, uncropped
   golden-ratio active image, a changing quotation rail on the left, narrow
   neighbouring-image hints, and WORK aligned directly below the active
   image at its bottom-right datum.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    box-sizing:border-box!important;
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + clamp(12px,1.5vh,20px)) 0 clamp(18px,2.2vh,28px) var(--tca-edge)!important;
    overflow:hidden!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    display:grid!important;
    grid-template-columns:clamp(180px,13.2vw,220px) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:clamp(18px,1.45vw,26px)!important;
    row-gap:clamp(10px,1.1vh,16px)!important;
    align-items:stretch!important;
    width:max-content!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    min-height:0!important;
    padding:clamp(22px,3vh,38px) 0!important;
    overflow:visible!important;
    z-index:10!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:auto 0 auto 0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:clamp(42px,5.2vh,64px) 0!important;
    font-size:clamp(20px,1.42vw,25px)!important;
    line-height:1.52!important;
    font-weight:400!important;
    letter-spacing:-.018em!important;
    color:#2f2f2f!important;
    opacity:0!important;
    transform:translate3d(0,10px,0)!important;
    transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1)!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before,
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    position:absolute!important;
    display:block!important;
    color:#B89B5E!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(40px,3.5vw,58px)!important;
    line-height:1!important;
    font-weight:700!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before{
    content:'“'!important;
    top:0!important;
    left:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    content:'”'!important;
    right:0!important;
    bottom:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:2!important;
    grid-row:1!important;
    width:clamp(1120px,calc(100vw - 140px),1540px)!important;
    height:auto!important;
    aspect-ratio:2.3114771268 / 1!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#fff!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    left:15%!important;
    width:70%!important;
    aspect-ratio:1.61803398875 / 1!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:2!important;
    grid-row:2!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:70%!important;
    margin-left:15%!important;
    padding:0!important;
    min-height:22px!important;
    z-index:10!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}

/* The approved editorial quote remains readable and centred on tablets,
   while the existing responsive golden-ratio media behaviour is preserved. */
@media (min-width:701px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    position:relative!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    opacity:0!important;
    transition:opacity .25s ease!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{opacity:1!important}
}

/* =====================================================================
   TCA 15.4 — CENTRED QUOTE + 10 / 80 / 10 LARGE HOME GALLERY
   Header and footer are untouched. On desktop the active golden-ratio
   project occupies 80% of the gallery viewport, with 10% hints of the
   previous and next projects. The active project tagline is one centred
   quoted line above the gallery and changes with the active project.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    box-sizing:border-box!important;
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + clamp(8px,1.1vh,14px)) 0 clamp(14px,1.8vh,22px)!important;
    overflow:hidden!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery{
    width:100%!important;
    display:block!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    row-gap:clamp(8px,1vh,13px)!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:clamp(42px,5vh,62px)!important;
    padding:0 clamp(42px,6vw,120px)!important;
    overflow:visible!important;
    text-align:center!important;
    z-index:10!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(48px,8vw,150px)!important;
    transform:translate3d(0,calc(-50% + 6px),0)!important;
    font-size:clamp(18px,1.28vw,23px)!important;
    line-height:1.25!important;
    font-weight:400!important;
    letter-spacing:-.012em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
    color:#2f2f2f!important;
    opacity:0!important;
    transition:opacity .24s ease,transform .32s cubic-bezier(.2,.7,.2,1)!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    transform:translate3d(0,-50%,0)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before,
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    position:static!important;
    display:inline!important;
    color:#B89B5E!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:1.45em!important;
    line-height:0!important;
    font-weight:700!important;
    vertical-align:-.12em!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before{
    content:'“'!important;
    margin-right:.42em!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    content:'”'!important;
    margin-left:.42em!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2.0225424859 / 1!important; /* 1.618 / .80 */
    max-height:none!important;
    overflow:hidden!important;
    background:#fff!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    top:50%!important;
    bottom:auto!important;
    left:10%!important;
    right:auto!important;
    width:80%!important;
    height:auto!important;
    aspect-ratio:1.61803398875 / 1!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(200%,-50%,-32px) scale(.99)!important;
    transform-origin:50% 50%!important;
    transition:transform 1.05s cubic-bezier(.65,0,.35,1)!important;
    will-change:transform!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
    z-index:4!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(-100%,-50%,-14px) scale(.995)!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(100%,-50%,-14px) scale(.995)!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    transform:translate3d(-200%,-50%,-32px) scale(.99)!important;
    z-index:1!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    transform:translate3d(200%,-50%,-32px) scale(.99)!important;
    z-index:1!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    grid-row:3!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:80%!important;
    margin-left:10%!important;
    padding:0!important;
    min-height:20px!important;
    z-index:10!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}

@media (min-width:701px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    inset:50% 0 auto 0!important;
    max-width:none!important;
    padding:0 34px!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:translate3d(0,-50%,0)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1!important;
    grid-row:2!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    grid-row:3!important;
  }
}

@media (max-width:700px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:72px!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    inset:50% 0 auto 0!important;
    padding:0 20px!important;
    text-align:center!important;
    transform:translate3d(0,-50%,0)!important;
    font-size:16px!important;
    line-height:1.3!important;
  }
}

/* =====================================================================
   TCA 15.5 — VIEWPORT-FIT 10 / 80 / 10 HOME
   Keeps the centred quotation and WORK link visible in the first viewport.
   The gallery remains 10% previous / 80% current / 10% next, while its
   overall width is limited by the available viewport height so the golden-
   ratio media is never cropped and the page does not overflow vertically.
   Header and footer remain untouched.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:calc(var(--tca-header-h) + 6px) 0 18px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery{
    width:100%!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:calc(100svh - var(--tca-header-h) - 126px);
    width:min(100vw,calc(var(--tca-home-stage-h) * 2.022542486))!important;
    max-width:100vw!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:52px auto 22px!important;
    row-gap:10px!important;
    padding:0!important;
    overflow:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 42px!important;
    margin:0!important;
    overflow:visible!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 44px!important;
    transform:translate3d(0,-50%,0)!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:clamp(17px,1.18vw,22px)!important;
    line-height:1.2!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:auto!important;
    max-height:var(--tca-home-stage-h)!important;
    aspect-ratio:2.022542486 / 1!important;
    overflow:hidden!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    grid-row:3!important;
    width:80%!important;
    min-height:22px!important;
    margin:0 0 0 10%!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}

@media (min-width:1181px) and (max-height:760px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:calc(100svh - var(--tca-header-h) - 112px);
    grid-template-rows:44px auto 20px!important;
    row-gap:7px!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:44px!important}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:17px!important}
}


/* =====================================================================
   TCA 15.6 — CENTRED, UNCROPPED HOME QUOTE + VIEWPORT-BALANCED GALLERY
   Keeps the approved 10 / 80 / 10 horizontal composition while ensuring
   the complete centred quote and WORK → remain visible above and below
   the image in the first desktop viewport. Header and footer unchanged.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:calc(var(--tca-header-h) + 10px) 0 22px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:min(62svh,calc(100svh - var(--tca-header-h) - 150px));
    width:min(100vw,calc(var(--tca-home-stage-h) * 2.022542486))!important;
    max-width:100vw!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:48px auto 24px!important;
    row-gap:10px!important;
    padding:0!important;
    overflow:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:100%!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 24px!important;
    margin:0!important;
    overflow:visible!important;
    text-align:center!important;
    z-index:20!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.48em!important;
    transform:translate3d(0,-50%,0)!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font:400 clamp(16px,1.12vw,21px)/1.2 'Urbanist',sans-serif!important;
    letter-spacing:-.012em!important;
    color:#2f2f2f!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .24s ease!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before,
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    content:none!important;
    display:none!important;
  }
  .tca-home-root--gallery .tca-home-quote-mark{
    flex:0 0 auto!important;
    color:#B89B5E!important;
    font:700 1.55em/1 Georgia,'Times New Roman',serif!important;
    transform:translateY(-.03em)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    display:block!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:var(--tca-home-stage-h)!important;
    max-height:var(--tca-home-stage-h)!important;
    aspect-ratio:2.022542486 / 1!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    grid-row:3!important;
    width:80%!important;
    min-height:24px!important;
    margin:0 0 0 10%!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}

@media (min-width:1181px) and (max-height:760px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:min(57svh,calc(100svh - var(--tca-header-h) - 132px));
    grid-template-rows:42px auto 22px!important;
    row-gap:7px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:42px!important}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:16px!important}
}

@media (min-width:701px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-caption{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.42em!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before,
  .tca-home-root--gallery .tca-home-gallery-caption::after{content:none!important;display:none!important}
  .tca-home-root--gallery .tca-home-quote-mark{color:#B89B5E!important;font:700 1.45em/1 Georgia,'Times New Roman',serif!important}
}

/* =====================================================================
   TCA 15.7 — LARGE CENTRED HOME COMPOSITION
   Final desktop refinement requested from the approved reference:
   a truly centred one-line quotation, a substantially larger 10/80/10
   gallery using the available viewport, and WORK visible at the active
   image's lower-right datum. Header and footer remain untouched.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:calc(var(--tca-header-h) + 14px) 0 18px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:clamp(500px,58svh,650px);
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:58px var(--tca-home-stage-h) 30px!important;
    row-gap:12px!important;
    overflow:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 clamp(80px,12vw,220px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    text-align:center!important;
    z-index:30!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(80px,12vw,220px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.6em!important;
    transform:translate3d(0,-50%,0)!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font:400 clamp(18px,1.25vw,23px)/1.2 'Urbanist',sans-serif!important;
    letter-spacing:-.012em!important;
    color:#2f2f2f!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .24s ease!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-quote-mark{
    display:inline-block!important;
    flex:0 0 auto!important;
    color:#B89B5E!important;
    font:700 1.5em/1 Georgia,'Times New Roman',serif!important;
    transform:translateY(-.02em)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    display:inline-block!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    width:100vw!important;
    height:var(--tca-home-stage-h)!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#fff!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    top:50%!important;
    bottom:auto!important;
    left:10vw!important;
    right:auto!important;
    width:80vw!important;
    height:100%!important;
    aspect-ratio:auto!important;
    transform-origin:50% 50%!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    grid-row:3!important;
    width:80vw!important;
    min-height:30px!important;
    margin:0 0 0 10vw!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    z-index:20!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}

@media (min-width:1181px) and (max-height:820px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:clamp(430px,54svh,560px);
    grid-template-rows:50px var(--tca-home-stage-h) 26px!important;
    row-gap:8px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:50px!important}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:17px!important}
}

/* =====================================================================
   TCA 15.8 — AUTHORITATIVE HOME COMPOSITION RESET
   Fixes accumulated legacy overrides. Desktop: centred one-line quote,
   true 10/80/10 gallery, large viewport-filling stage and WORK datum.
   Header/footer are untouched.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:100svh!important;
    padding:calc(var(--tca-header-h) + 10px) 0 20px!important;
    display:block!important;
    overflow-x:hidden!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery,
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:clamp(520px,61svh,650px);
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:62px var(--tca-home-stage-h) 32px!important;
    row-gap:10px!important;
    overflow:visible!important;
  }
  

  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-area:1 / 1!important;
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    min-height:62px!important;
    margin:0!important;
    padding:0 clamp(70px,9vw,160px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(70px,9vw,160px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.48em!important;
    transform:translateY(-50%)!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:center!important;
    font:400 clamp(19px,1.28vw,24px)/1.2 'Urbanist',sans-serif!important;
    letter-spacing:-.012em!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption::before,
  .tca-home-root--gallery .tca-home-gallery-caption::after{
    content:none!important;
    display:none!important;
  }
  .tca-home-root--gallery .tca-home-quote-mark{
    display:inline-block!important;
    flex:0 0 auto!important;
    color:#B89B5E!important;
    font:700 1.42em/1 Georgia,'Times New Roman',serif!important;
    transform:translateY(-.03em)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    display:inline-block!important;
    white-space:nowrap!important;
  }

  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-area:2 / 1!important;
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--tca-home-stage-h)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    margin:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    position:absolute!important;
    inset:auto!important;
    top:50%!important;
    left:10vw!important;
    width:80vw!important;
    min-width:80vw!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    transform-origin:center!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(-87.5%,-50%,-35px) scale(.98)!important;
    opacity:.55!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(87.5%,-50%,-35px) scale(.98)!important;
    opacity:.55!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    transform:translate3d(-112%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    transform:translate3d(112%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-area:3 / 1!important;
    width:80vw!important;
    max-width:none!important;
    min-height:32px!important;
    margin:0 0 0 10vw!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important;}
}

@media (min-width:1181px) and (max-height:820px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-stage-h:clamp(470px,57svh,570px);
    grid-template-rows:54px var(--tca-home-stage-h) 28px!important;
    row-gap:8px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:54px!important;}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:18px!important;}
}


/* =====================================================================
   TCA 15.9 — APPROVED WIDE HOME COMPOSITION
   Matches the approved visual: centred quote, large wide active image,
   equal previous/next edge previews and WORK aligned below active image.
   Header and footer are not changed.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:0!important;
    padding:calc(var(--tca-header-h) + 4px) 0 18px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  
  .tca-home-root--gallery .tca-home-gallery,
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-wide-stage-h:clamp(500px,56svh,610px);
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:66px var(--tca-wide-stage-h) 32px!important;
    row-gap:10px!important;
    padding:0!important;
    overflow:visible!important;
  }
  

  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-area:1 / 1!important;
    position:relative!important;
    width:100vw!important;
    min-height:66px!important;
    margin:0!important;
    padding:0 14vw!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 14vw!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.62em!important;
    transform:translateY(-50%)!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font:400 clamp(19px,1.28vw,24px)/1.2 'Urbanist',sans-serif!important;
    letter-spacing:-.012em!important;
    color:#2f2f2f!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-quote-mark{
    display:inline-block!important;
    flex:0 0 auto!important;
    color:#B89B5E!important;
    font:700 1.48em/1 Georgia,'Times New Roman',serif!important;
    transform:translateY(-.03em)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    display:inline-block!important;
    white-space:nowrap!important;
  }

  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-area:2 / 1!important;
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--tca-wide-stage-h)!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:#fff!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    position:absolute!important;
    inset:auto!important;
    top:50%!important;
    left:15vw!important;
    width:70vw!important;
    min-width:70vw!important;
    max-width:70vw!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    transform-origin:center!important;
    transition:transform 1.05s cubic-bezier(.65,0,.35,1),opacity .8s ease!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:3!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(-103.58%,-50%,-34px) scale(.985)!important;
    opacity:.62!important;
    visibility:visible!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(103.58%,-50%,-34px) scale(.985)!important;
    opacity:.62!important;
    visibility:visible!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    transform:translate3d(-130%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    transform:translate3d(130%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#fff!important;
    transform:none!important;
  }

  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-area:3 / 1!important;
    width:70vw!important;
    min-height:32px!important;
    margin:0 0 0 15vw!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important}
}

@media (min-width:1181px) and (max-height:820px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-wide-stage-h:clamp(455px,53svh,545px);
    grid-template-rows:58px var(--tca-wide-stage-h) 28px!important;
    row-gap:8px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:58px!important}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:18px!important}
}

/* =====================================================================
   TCA 16.0 — GOLDEN HOME / FOOTER BELOW FOLD
   Final desktop authority: preserve 1.618 image geometry, enlarge the
   gallery, keep quote centred, and allow the footer only after scrolling.
   Header/footer styling is untouched.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    min-height:calc(100svh - var(--tca-header-h))!important;
    padding:calc(var(--tca-header-h) + 8px) 0 34px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  

  .tca-home-root--gallery .tca-home-gallery,
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }

  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-active-w:min(63vw,1260px);
    --tca-home-active-h:calc(var(--tca-home-active-w) / 1.61803398875);
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:70px var(--tca-home-active-h) 34px!important;
    row-gap:12px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-area:1 / 1!important;
    position:relative!important;
    width:100vw!important;
    min-height:70px!important;
    margin:0!important;
    padding:0 10vw!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 10vw!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.72em!important;
    transform:translateY(-50%)!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font:400 clamp(19px,1.25vw,24px)/1.2 'Urbanist',sans-serif!important;
    letter-spacing:-.012em!important;
    color:#2f2f2f!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-quote-mark{
    display:inline-block!important;
    flex:0 0 auto!important;
    color:#B89B5E!important;
    font:700 1.5em/1 Georgia,'Times New Roman',serif!important;
    transform:translateY(-.04em)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    display:inline-block!important;
    white-space:nowrap!important;
  }

  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-area:2 / 1!important;
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    margin:0!important;
    overflow:hidden!important;
    background:#fff!important;
    perspective:1800px!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    position:absolute!important;
    inset:auto!important;
    top:50%!important;
    left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    width:var(--tca-home-active-w)!important;
    min-width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
    aspect-ratio:1.61803398875 / 1!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    transform-origin:center!important;
    transition:transform 1.05s cubic-bezier(.65,0,.35,1),opacity .8s ease!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:3!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(-100%,-50%,-30px) scale(.985)!important;
    opacity:.58!important;
    visibility:visible!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(100%,-50%,-30px) scale(.985)!important;
    opacity:.58!important;
    visibility:visible!important;
    z-index:2!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    transform:translate3d(-128%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    transform:translate3d(128%,-50%,-70px) scale(.97)!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
    transform:none!important;
  }

  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-area:3 / 1!important;
    width:var(--tca-home-active-w)!important;
    min-height:34px!important;
    margin:0 0 0 calc((100vw - var(--tca-home-active-w)) / 2)!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .tca-home-root--gallery .tca-home-gallery-progress{display:none!important;}
}

@media (min-width:1181px) and (max-height:820px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-active-w:min(59.4vw,1134px);
    grid-template-rows:58px var(--tca-home-active-h) 30px!important;
    row-gap:9px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:58px!important;}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:18px!important;}
}

/* =====================================================================
   TCA 16.4 — ACTIVE IMAGE AXIS LOCK
   The quote and WORK rail derive their horizontal datum from the actual
   active slide bounding box, so their centre/right edge always match the
   active golden-ratio image after resize, zoom, and slide changes.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    width:var(--tca-active-slide-width, var(--tca-home-active-w))!important;
    margin-left:var(--tca-active-slide-left, calc((100vw - var(--tca-home-active-w))/2))!important;
    padding:0!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    inset:50% 0 auto 0!important;
    width:100%!important;
    padding:0!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    width:var(--tca-active-slide-width, var(--tca-home-active-w))!important;
    margin-left:var(--tca-active-slide-left, calc((100vw - var(--tca-home-active-w))/2))!important;
    min-height:34px!important;
    padding-top:2px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    white-space:nowrap!important;
  }
}

/* =====================================================================
   TCA 16.5 — FINAL HOME AXIS + VIEWPORT FIT
   Quote and WORK are locked to the same static centre datum as the active
   golden-ratio slide. This overrides the experimental measured-axis rules.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-page{
    padding-top:calc(var(--tca-header-h) + 4px)!important;
    padding-bottom:28px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-active-w:min(59.5vw,1190px)!important;
    --tca-home-active-h:calc(var(--tca-home-active-w) / 1.61803398875)!important;
    grid-template-rows:58px var(--tca-home-active-h) 30px!important;
    row-gap:8px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    width:var(--tca-home-active-w)!important;
    margin-left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    min-height:58px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    transform:translateY(-50%)!important;
    font-size:clamp(18px,1.18vw,23px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    width:var(--tca-home-active-w)!important;
    min-width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    width:var(--tca-home-active-w)!important;
    margin-left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    min-height:30px!important;
    padding:2px 0 0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}

@media (min-width:1181px) and (max-height:820px){
  .tca-home-root--gallery .tca-home-gallery-frame{
    --tca-home-active-w:min(56vw,1080px)!important;
    grid-template-rows:50px var(--tca-home-active-h) 28px!important;
    row-gap:7px!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{min-height:50px!important;}
  .tca-home-root--gallery .tca-home-gallery-caption{font-size:17px!important;}
}


/* =====================================================================
   TCA 16.5.3 — SINGLE VIEWPORT CENTRE DATUM
   Only the Home quote rail is corrected here. The active image dimensions,
   header, footer, side previews and WORK rail remain untouched.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    position:relative!important;
    left:50%!important;
    width:var(--tca-home-active-w)!important;
    margin-left:0!important;
    transform:translateX(-50%)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    justify-content:center!important;
  }
}

/* =====================================================================
   TCA 15.3 — SINGLE SITE-SHELL DATUM
   One authoritative desktop rule set. No later navigation/layout overrides.
   ===================================================================== */
@media (min-width:761px){
  :root{
    --tca-header-h:66px;
    --tca-submenu-h:34px;
    --tca-nav-gap:16px;
    --tca-nav-band:calc(var(--tca-header-h) + var(--tca-submenu-h) + var(--tca-nav-gap));
  }
  body #siteHeader.site-header{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100vw!important;
    height:var(--tca-header-h)!important;
    min-height:var(--tca-header-h)!important;
    overflow:visible!important;
    background:#fff!important;
    z-index:5000!important;
  }
  body.admin-bar #siteHeader.site-header{top:var(--tca-admin-bar-h)!important}

  /* The blank second row is permanently reserved. Opening a submenu changes
     visibility only, never the vertical geometry of any page. */
  body #siteHeader.site-header::after{
    content:"";
    position:fixed!important;
    top:var(--tca-header-h)!important;
    left:0!important;right:0!important;
    height:calc(var(--tca-submenu-h) + var(--tca-nav-gap))!important;
    background:#fff!important;
    pointer-events:none!important;
    z-index:4997!important;
  }
  body.admin-bar #siteHeader.site-header::after{top:calc(var(--tca-admin-bar-h) + var(--tca-header-h))!important}

  body #mainNav .submenu{
    position:fixed!important;
    top:var(--tca-header-h)!important;
    left:0!important;right:0!important;
    width:100%!important;max-width:none!important;
    height:var(--tca-submenu-h)!important;
    min-height:var(--tca-submenu-h)!important;
    margin:0!important;padding:0 24px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    gap:20px!important;white-space:nowrap!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:none!important;transition:opacity .16s ease!important;
    z-index:4999!important;
  }
  body.admin-bar #mainNav .submenu{top:calc(var(--tca-admin-bar-h) + var(--tca-header-h))!important}
  body #mainNav .nav-item.open .submenu{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  body #mainNav .submenu a{
    margin:0!important;padding:0!important;
    font:600 14.5px/1.2 "Urbanist",sans-serif!important;
  }

  /* One content datum across the complete site. */
  body .tca-wg{margin-top:var(--tca-nav-band)!important}
  /* v15.6.12 — user wants these three pages' content brought up to match
     Work's own top datum, not just made consistent with each other.
     Root cause: --tca-nav-band = header + submenu-row height + gap,
     reserved here unconditionally — but Expertise/Studio/Contact/Journal
     never render a category submenu (that's Work-only), so that ~50px
     (--tca-submenu-h 34px + the gap meant to sit under it) was being held
     open as pure dead space above the heading on every one of these
     pages, in addition to whatever Work reserves for a submenu it
     actually shows. Dropping to header height + a small breathing gap
     only, since there's no submenu row here to reserve room for. */
  body .tca-editorial-page,
  body .tca-contact-page,
  body .tca-journal-clean-page{
    padding-top:var(--tca-nav-band)!important;
    box-sizing:border-box!important;
  }
  body .tca-editorial-page .tca-editorial-main{padding-top:0!important}
  body .tca-editorial-page .tca-editorial-main,
  body .tca-contact-page .tca-contact-main,
  body .tca-journal-clean-page .tca-wg{margin-top:0!important}

  body .tca-home-root--gallery .tca-home-gallery-page{
    padding-top:var(--tca-nav-band)!important;
    min-height:100svh!important;
    height:100svh!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  /* WordPress's fixed admin bar consumes viewport space above the TCA shell.
     Remove that exact amount from the Home stage instead of allowing the
     logged-in view to become 32px taller and clip/shift the composition. */
  body.admin-bar .tca-home-root--gallery .tca-home-gallery-page{
    min-height:calc(100svh - var(--tca-admin-bar-h))!important;
    height:calc(100svh - var(--tca-admin-bar-h))!important;
  }
  body .tca-home-root--gallery .tca-home-gallery-frame{
    max-height:calc(100svh - var(--tca-nav-band) - 12px)!important;
  }

  /* v15.6.7 — this block used to set background:transparent!important
     (plus backdrop-filter:none), directly contradicting the solid
     off-white drawer background added in the "TCA 15.6.2" block further
     down this same file (which wins on specificity — one more class in
     its selector — so this was already losing in practice, just
     confusingly left in place fighting a decision that had already been
     made elsewhere). Removed rather than left as a trap for the next
     edit. z-index/box-shadow here were likewise already superseded by
     that same later, more specific block. */
  body #hamburgerBtn.hamburger{z-index:6001!important}

  /* Readable Work and Journal metadata without changing geometry. */
  .tca-wg .tca-wg-info{font-size:16px!important;line-height:1.42!important}
  .tca-wg .tca-wg-meta,
  .tca-wg .tca-wg-meta span,
  .tca-wg .tca-inline-meta,
  .tca-wg .tca-inline-meta dt,
  .tca-wg .tca-inline-meta dd{font-size:15px!important;line-height:1.42!important}

  /* Contact: calm, consistent distance from hero image to Write Us. */
  .tca-contact-page .tca-contact-hero-shell{margin-bottom:clamp(84px,7vw,112px)!important}
  .tca-contact-page .tca-contact-enquiry{margin-top:0!important;padding-top:0!important}
}

@media (min-width:761px) and (max-width:782px){
  body.admin-bar #siteHeader.site-header{top:46px!important}
  body.admin-bar #siteHeader.site-header::after,
  body.admin-bar #mainNav .submenu{top:calc(46px + var(--tca-header-h))!important}
  body.admin-bar .tca-home-root--gallery .tca-home-gallery-page{
    min-height:calc(100svh - 46px)!important;
    height:calc(100svh - 46px)!important;
  }
}

@media (min-width:1181px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    position:relative!important;left:50%!important;
    width:var(--tca-home-active-w)!important;
    margin-left:0!important;transform:translateX(-50%)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    left:0!important;right:0!important;width:100%!important;margin:0!important;
    text-align:center!important;justify-content:center!important;
  }
}

/* TCA 15.4 — balanced Contact hero-to-copy spacing. */
@media (max-width:767px){.tca-contact-page .tca-contact-hero-shell{margin-bottom:64px!important}}


/* =====================================================================
   TCA 15.5 — STUDIO PORTRAIT / CHAPTER RHYTHM
   The founder image remains in normal document flow so its lower edge
   cannot visually collide with the first chapter heading.
   ===================================================================== */
@media (min-width:761px){
  body .tca-studio-page .tca-studio-founder-portrait{
    position:relative!important;
    left:auto!important;
    margin-top:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:clamp(112px,8vw,144px)!important;
    /* v15.7.63: do not lock transform here; the shared depth engine owns it. */
    will-change:transform!important;
  }
  body .tca-studio-page .tca-studio-founder-image{
    transform:none!important;
  }
  body .tca-studio-page .tca-studio-founder-portrait + .tca-editorial-chapter{
    margin-top:0!important;
  }
}

/* =====================================================================
   TCA 15.6 — FINAL NAV, LOGO HANDOFF AND INNER-PAGE DATUM
   ===================================================================== */
@media (min-width:761px){
  :root{--tca-opening-top:8px;}

  /* The travelling TCA must remain above both fixed white navigation bands. */
  body #heroLogo.hero-logo.moving{
    z-index:7002!important;
    opacity:1!important;
    visibility:visible!important;
  }

  /* One shared top datum for Contact, Studio, Expertise and Journal. */
  body .tca-contact-page-heading.tca-opening-heading,
  body .tca-studio-heading.tca-opening-heading,
  body .tca-expertise-heading.tca-opening-heading,
  body .tca-editorial-page-heading.tca-opening-heading{
    margin-top:var(--tca-opening-top)!important;
  }

  /* Keep the submenu fully interactive above every page and open project. */
  body #mainNav .submenu{z-index:7000!important;}
  body #mainNav .nav-item.open .submenu{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}


/* =====================================================================
   TCA 15.6.2 — CROSS-BROWSER CONSISTENCY PASS
   Final authority for menu typography, drawer clearance, equal glimpses,
   and one shared inner-page heading datum. No image ratios are altered.
   ===================================================================== */
@media (min-width:761px){
  :root{
    --tca-inner-start:34px;
  }

  /* Keep the original menu scale and weight; change only the font family. */
  body #mainNav .nav-item > span,
  body #mainNav .nav-item > .tca-main-filter,
  body #mainNav .submenu a,
  body #hamburgerMenu.hamburger-menu a{
    font-family:"Urbanist",Arial,sans-serif!important;
    font-style:normal!important;
    font-synthesis:none!important;
    letter-spacing:0!important;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }

  /* Restore restrained original sizing instead of the enlarged 15.7 override. */
  body #mainNav .nav-item > span,
  body #mainNav .nav-item > .tca-main-filter{
    font-size:18px!important;
    font-weight:500!important;
    line-height:1.2!important;
  }
  body #mainNav .submenu a{
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.2!important;
  }
  body #mainNav .submenu{
    gap:18px!important;
  }

  /* v15.6.5 — this comment's own promise ("never descends over Work,
     Journal or Home imagery") wasn't actually enforced: nothing capped
     the drawer's height, and five stacked links at this font size don't
     fit inside the reserved nav band regardless, so it kept extending
     down over the open project's image — transparent text directly on
     top of a photo. Rather than resize the image/track engine (which has
     broken from far smaller changes several times before), giving the
     drawer its own small opaque surface keeps it legible and visually
     separate from whatever is behind it, wherever it ends up sitting. */
  /* v15.6.13 — reverted to transparent per direct instruction (no white
     card behind the dropdown at all). Tightened gap/padding further on
     the same request — this is now the only remaining defense against
     overlap (the structural mask from v15.6.10/11 was removed above), so
     making the drawer's own footprint as small as possible is what's
     left to reduce how much of it can land on the image at once. */
  body #hamburgerMenu.hamburger-menu{
    position:fixed!important;
    top:calc(var(--tca-admin-bar-h) + var(--tca-header-h) + 10px)!important;
    right:var(--tca-edge)!important;
    width:auto!important;
    min-width:0!important;
    max-width:220px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:9px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    z-index:7001!important;
  }
  body #hamburgerMenu.hamburger-menu a{
    margin:0!important;
    padding:0!important;
    font-size:20px!important;
    font-weight:500!important;
    line-height:1.32!important;
    white-space:nowrap!important;
  }

  /* One normal-flow opening datum across Work and every inner page.
     The standalone header contributes zero flow height; each page reserves
     exactly the same nav band as the Work grid. WordPress's admin bar is
     already reserved by WordPress itself and is never added a second time. */
  body .tca-editorial-page,
  body .tca-contact-page,
  body .tca-journal-clean-page{
    padding-top:var(--tca-nav-band)!important;
    box-sizing:border-box!important;
  }
  body .tca-contact-page-heading,
  body .tca-studio-heading,
  body .tca-expertise-heading,
  body .tca-editorial-page-heading,
  body .tca-journal-clean-heading{
    margin-top:0!important;
  }
  body .tca-expertise-main{
    padding-top:0!important;
  }
  body .tca-editorial-page .tca-editorial-main,
  body .tca-contact-page .tca-contact-main,
  body .tca-studio-page .tca-studio-main,
  body .tca-expertise-page .tca-expertise-main,
  body .tca-journal-clean-page .tca-wg{
    margin-top:0!important;
  }
}
@media (min-width:761px) and (max-width:782px){
  body.admin-bar .tca-v35-root #hamburgerMenu.hamburger-menu{top:84px!important}
}


/* TCA 15.7.22 — FINAL EDITORIAL MEDIA SYSTEM
   Expertise + Studio use one shared rule:
   one image = centred Contact-width frame; multiple images = full-viewport pan rail.
   Gallery frames use the Journal-width datum. Every frame preserves the golden ratio. */
@media (min-width:761px){
  .tca-editorial-page{--tca-editorial-media-w:min(var(--tca-shared-grid-w,622.84px),calc(100vw - 96px));--tca-editorial-single-w:min(var(--tca-grid-w,1040px),calc(100vw - 96px));--tca-editorial-media-gap:4.5px;}
  .tca-editorial-gallery{
    width:100vw!important;max-width:none!important;
    margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
    padding:0 0 18px!important;gap:var(--tca-editorial-media-gap)!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    cursor:grab!important;scrollbar-width:thin!important;scrollbar-color:#b89b5e #eee!important;
    scroll-snap-type:none!important;overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;
  }
  .tca-editorial-gallery.is-dragging{cursor:grabbing!important;user-select:none!important;}
  .tca-editorial-gallery:not(.is-single)::before,
  .tca-editorial-gallery:not(.is-single)::after{content:none!important;display:none!important;}
  .tca-editorial-gallery figure{
    flex:0 0 var(--tca-editorial-media-w)!important;width:var(--tca-editorial-media-w)!important;
    min-width:0!important;max-width:none!important;aspect-ratio:1.61803398875/1!important;
    margin:0!important;overflow:hidden!important;background:#fff!important;scroll-snap-align:none!important;
  }
  /* Fill every golden-ratio frame so mixed source aspect ratios cannot create
     unequal-looking white gaps between neighbouring images. */
  .tca-editorial-gallery img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
  .tca-editorial-gallery.is-single{
    width:var(--tca-editorial-single-w)!important;
    margin-left:auto!important;margin-right:auto!important;
    overflow:visible!important;padding-bottom:0!important;cursor:default!important;
  }
  .tca-editorial-gallery.is-single figure{flex-basis:100%!important;width:100%!important;}
}
@media (max-width:760px){
  .tca-editorial-page{--tca-editorial-media-w:84vw;--tca-editorial-single-w:calc(100vw - 28px);--tca-editorial-media-gap:3px;}
  .tca-editorial-gallery{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;gap:var(--tca-editorial-media-gap)!important;}
  .tca-editorial-gallery:not(.is-single)::before,.tca-editorial-gallery:not(.is-single)::after{content:none!important;display:none!important;}
  .tca-editorial-gallery figure{flex:0 0 var(--tca-editorial-media-w)!important;width:var(--tca-editorial-media-w)!important;aspect-ratio:1.61803398875/1!important;}
  .tca-editorial-gallery.is-single{width:var(--tca-editorial-single-w)!important;margin-left:auto!important;margin-right:auto!important;overflow:visible!important;cursor:default!important;}
}

/* =====================================================================
   TCA 15.7.23 — FINAL NAV + HOME-SCALE EDITORIAL GALLERIES + LINK SCALE
   One authority for the refinements approved after 15.7.22.
   ===================================================================== */
@media (min-width:761px){
  /* Navigation: refined/light Urbanist. Main horizontal navigation and
     hamburger drawer deliberately share one size and weight. */
  body #mainNav .nav-item > span,
  body #mainNav .nav-item > .tca-main-filter,
  body #hamburgerMenu.hamburger-menu a{
    font-family:"Urbanist",Arial,sans-serif!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1.28!important;
    letter-spacing:0!important;
  }

  /* One small navigation-label language across Home / Work / Journal. */
  .tca-home-root--gallery .tca-home-slider-work,
  .tca-inline-back,
  .tca-journal-engine .tca-inline-back,
  .tca-journal-engine .tca-inline-back span{
    font-family:"Urbanist",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
  }
}

@media (max-width:760px){
  .tca-home-root--gallery .tca-home-slider-work,
  .tca-inline-back,
  .tca-journal-engine .tca-inline-back,
  .tca-journal-engine .tca-inline-back span{
    font-family:"Urbanist",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
  }
}


/* =====================================================================
   TCA 15.7.26 — PUBLIC PORTFOLIO IMAGE PROTECTION
   Discourages casual saving/dragging without changing gallery interaction,
   horizontal panning, scrolling, project opening, or responsive geometry.
   ===================================================================== */
.tca-v35-root img{
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}

/* =====================================================================
   TCA 15.7.63 — RICH TEXT, APPROVED TWO-COLUMN GEOMETRY RESTORED
   Rich copy uses two equal CSS columns, preserving inline formatting while
   keeping the exact approved editorial width and centre gutter.
   ===================================================================== */
.tca-editorial-columns.tca-editorial-richflow{
  display:block!important;
  grid-template-columns:none!important;
  column-count:2!important;
  column-gap:var(--tca-editorial-text-gap)!important;
  column-fill:balance!important;
  width:var(--tca-editorial-wide)!important;
  max-width:var(--tca-editorial-wide)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  font-family:"Urbanist",sans-serif!important;
  font-size:var(--tca-editorial-copy-size)!important;
  font-weight:400!important;
  line-height:var(--tca-editorial-copy-line)!important;
  color:var(--tca-editorial-copy-color)!important;
}
.tca-contact-top-copy.tca-editorial-richflow{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.tca-editorial-richflow p{
  margin:0 0 1.15em!important;
  font:inherit!important;
  color:inherit!important;
  break-inside:auto!important;
}
.tca-editorial-richflow p:last-child{margin-bottom:0!important}
.tca-editorial-richflow strong,.tca-editorial-richflow b{font-weight:650!important}
.tca-editorial-richflow em,.tca-editorial-richflow i{font-style:italic!important}
.tca-editorial-richflow a{
  color:inherit!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(184,155,94,.65)!important;
}
.tca-editorial-richflow ul,.tca-editorial-richflow ol{
  margin:.3em 0 1.1em 1.2em!important;
  padding:0!important;
  break-inside:auto!important;
}
.tca-editorial-richflow li{margin:.22em 0!important;padding-left:.18em!important}
.tca-editorial-richflow .tca-editorial-highlight{
  color:#b89b5e!important;
  background:transparent!important;
  font-weight:600!important;
}
@media(max-width:760px){
  .tca-editorial-columns.tca-editorial-richflow{
    column-count:1!important;
    column-gap:0!important;
  }
}


/* =====================================================================
   TCA 15.7.73 — HOME: FIXED GOLDEN-RATIO FRAME + CONSTANT NEIGHBOUR GAP
   The visible media frame is always the same 1.618:1 box. Previous/next
   frames are positioned from that box, with one constant physical gap.
   Native source dimensions can no longer alter the perceived spacing.
   ===================================================================== */
@media (min-width:761px){
  .tca-home-root--gallery{
    --tca-home-neighbour-gap:clamp(18px,1.35vw,26px);
  }
  .tca-home-root--gallery .tca-home-slide{
    box-sizing:border-box!important;
    width:var(--tca-home-active-w)!important;
    min-width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
    aspect-ratio:1.61803398875 / 1!important;
    overflow:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(calc(-100% - var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(calc(100% + var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
  }
  .tca-home-root--gallery .tca-home-slide img,
  .tca-home-root--gallery .tca-home-slide video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#fff!important;
  }
}


/* TCA 15.7.75 — curated Work monograms */
.tca-custom-monogram-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#3D3D3D!important;
}
.tca-monogram-placeholder{
  display:block;
  width:100%;
  height:100%;
}


/* TCA 15.7.85 — pencil-sketch Work monograms (white ground, grey linework) */
.tca-xray-monogram-canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:#fff!important;
}

/* TCA 15.7.78: keep simplified monogram crisp at its existing Work-page size. */
.tca-xray-monogram-canvas{image-rendering:auto;}

/* TCA 15.7.79 — curated final monogram display */
.tca-custom-monogram-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;background:#3D3D3D!important;}

/* TCA 15.7.81 — minimal project-symbol monograms */
.tca-symbol-monogram{display:block!important;width:100%!important;height:100%!important;background:#3D3D3D!important;}

/* TCA 15.7.82 — per-project symbol resolution only; Work/Home geometry unchanged. */


/* =====================================================================
   TCA 15.7.87 — MOBILE INNER-PAGE HEADING SAFETY
   Studio / Expertise / Journal / Contact only. Prevents the League Spartan
   page title from being clipped by inherited fixed/translated/overflow rules.
   Desktop, Home and Work are intentionally untouched.
   ===================================================================== */
@media (max-width:760px){
  body .tca-editorial-page,
  body .tca-contact-page,
  body .tca-journal-clean-page{
    overflow-x:clip!important;
    overflow-y:visible!important;
  }
  body .tca-editorial-main,
  body .tca-contact-main{
    overflow:visible!important;
  }
  body .tca-editorial-page-heading,
  body .tca-contact-page-heading,
  body .tca-journal-clean-heading{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    translate:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    clip-path:none!important;
    contain:none!important;
    padding-top:.16em!important;
  }
  body .tca-editorial-page-heading h1,
  body .tca-contact-page-heading h1,
  body .tca-journal-clean-heading h1{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    translate:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    clip-path:none!important;
    opacity:1!important;
    visibility:visible!important;
    line-height:1.08!important;
    padding:.08em 0 .02em!important;
  }
}


/* =====================================================================
   TCA 15.7.88 — MOBILE OPENING DATUM, FINAL AUTHORITY
   Studio and Expertise already gained 28px from .tca-editorial-main on
   mobile, while Contact and Journal did not.  That placed Contact/Journal
   titles partly beneath the fixed 66px site header.  This gives all four
   editorial pages the same visual title datum and keeps the full League
   Spartan glyph box below the header.  Home and Work are untouched.
   ===================================================================== */
@media (max-width:760px){
  /* Studio + Expertise: keep one 28px opening inset in the shared main. */
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main{
    padding-top:28px!important;
  }

  /* Contact has no editorial-main top inset in the legacy rules, so add
     exactly the same 28px before its opening heading. */
  body .tca-v35-root.tca-contact-page > .tca-contact-main{
    padding-top:28px!important;
  }

  /* Journal heading is a direct child of the page root.  Give it the same
     28px datum rather than the old 21px margin that sat under the header. */
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading.tca-opening-heading{
    margin-top:28px!important;
  }

  /* One title box geometry for all four pages.  The small top padding is
     inside the line box, not a transform, so ascenders can never be clipped. */
  body .tca-v35-root.tca-editorial-page header.tca-editorial-page-heading,
  body .tca-v35-root.tca-contact-page header.tca-contact-page-heading.tca-opening-heading,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading.tca-opening-heading{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    translate:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    contain:none!important;
    padding-top:.16em!important;
  }

  body .tca-v35-root.tca-editorial-page header.tca-editorial-page-heading > h1,
  body .tca-v35-root.tca-contact-page header.tca-contact-page-heading.tca-opening-heading > h1,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading.tca-opening-heading > h1{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    translate:none!important;
    margin:0!important;
    padding:.04em 0 .04em!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:"League Spartan",sans-serif!important;
    font-size:clamp(42px,13vw,58px)!important;
    font-weight:500!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    color:#3d3d3d!important;
    white-space:normal!important;
  }

  /* Keep the gold rule on one common rhythm below every title. */
  body .tca-v35-root.tca-editorial-page header.tca-editorial-page-heading > span,
  body .tca-v35-root.tca-contact-page header.tca-contact-page-heading.tca-opening-heading > .tca-contact-page-line,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading.tca-opening-heading > span{
    margin-top:13px!important;
  }
}

/* =====================================================================
   TCA 15.7.89 — PHONE + iPAD INNER-PAGE TITLE DATUM
   One final geometry for Studio / Expertise / Journal / Contact from
   phones through iPad landscape. The title sits in normal flow below the
   fixed TCA header, uses a generous glyph box (no League Spartan clipping),
   and starts at the same vertical datum on all four pages.
   Home and Work are intentionally untouched.
   ===================================================================== */
@media (max-width:1024px){
  :root{
    --tca-inner-heading-gap:24px;
    --tca-inner-title-rule-gap:14px;
  }

  /* Reserve only the real fixed header; do not inherit Work's submenu band. */
  body .tca-v35-root.tca-editorial-page,
  body .tca-v35-root.tca-contact-page,
  body .tca-v35-root.tca-journal-clean-page{
    padding-top:var(--tca-header-h)!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    box-sizing:border-box!important;
  }

  /* Studio / Expertise and Contact use an inner main; Journal does not. */
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main,
  body .tca-v35-root.tca-contact-page > .tca-contact-main{
    padding-top:var(--tca-inner-heading-gap)!important;
    margin-top:0!important;
    overflow:visible!important;
  }

  /* All four headings share the exact same box and top datum. */
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    position:relative!important;
    inset:auto!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto 34px!important;
    padding:10px 0 0!important;
    transform:none!important;
    translate:none!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    contain:none!important;
    box-sizing:border-box!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > h1,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > h1,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > h1{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:4px 0 3px!important;
    transform:none!important;
    translate:none!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:"League Spartan",sans-serif!important;
    font-size:clamp(46px,13vw,60px)!important;
    font-weight:500!important;
    line-height:1.16!important;
    letter-spacing:-.035em!important;
    color:#3d3d3d!important;
    white-space:normal!important;
    box-sizing:border-box!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > span,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > .tca-contact-page-line,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > span{
    display:block!important;
    width:34px!important;
    height:1px!important;
    margin:var(--tca-inner-title-rule-gap) 0 0!important;
    background:#b89b5e!important;
  }

  /* Journal is the only page without an inner main, so its 24px opening
     gap belongs on the heading itself. */
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    margin-top:var(--tca-inner-heading-gap)!important;
  }
}

/* iPad/tablet keeps the same vertical datum but a wider architectural field. */
@media (min-width:761px) and (max-width:1024px){
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    width:calc(100vw - 64px)!important;
    max-width:calc(100vw - 64px)!important;
  }
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > h1,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > h1,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > h1{
    font-size:60px!important;
  }
}

/* =====================================================================
   TCA 15.7.90 — FINAL PHONE + iPAD EDITORIAL TITLE SYSTEM
   One visible, unclipped datum for Studio / Expertise / Journal / Contact.
   Uses Urbanist (TCA's interface/editorial family) rather than the logo-only
   League Spartan face, removing the mobile glyph-box clipping seen on S/E/J.
   Home and Work are intentionally untouched.
   ===================================================================== */
@media (max-width:1024px){
  :root{
    --tca-inner-title-top:24px;
    --tca-inner-title-size:clamp(50px,12.7vw,62px);
    --tca-inner-title-line:1.14;
    --tca-inner-title-bottom:34px;
  }

  body .tca-v35-root.tca-editorial-page,
  body .tca-v35-root.tca-contact-page,
  body .tca-v35-root.tca-journal-clean-page{
    padding-top:var(--tca-header-h)!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main,
  body .tca-v35-root.tca-contact-page > .tca-contact-main{
    padding-top:var(--tca-inner-title-top)!important;
    margin-top:0!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    contain:none!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto var(--tca-inner-title-bottom)!important;
    padding:0!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    contain:none!important;
    transform:none!important;
    translate:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    margin-top:var(--tca-inner-title-top)!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > h1,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > h1,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > h1{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:.10em 0 .08em!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    contain:none!important;
    transform:none!important;
    translate:none!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:"Urbanist",Arial,sans-serif!important;
    font-size:var(--tca-inner-title-size)!important;
    font-weight:500!important;
    line-height:var(--tca-inner-title-line)!important;
    letter-spacing:-.035em!important;
    color:#3d3d3d!important;
    white-space:normal!important;
    text-indent:0!important;
  }

  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > span,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > .tca-contact-page-line,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > span{
    display:block!important;
    position:static!important;
    width:34px!important;
    height:1px!important;
    margin:12px 0 0!important;
    padding:0!important;
    background:#b89b5e!important;
    transform:none!important;
  }
}

@media (min-width:761px) and (max-width:1024px){
  :root{
    --tca-inner-title-top:30px;
    --tca-inner-title-size:64px;
    --tca-inner-title-bottom:42px;
  }
  body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading,
  body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading,
  body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
    width:calc(100vw - 64px)!important;
    max-width:calc(100vw - 64px)!important;
  }
}

/* =====================================================================
   TCA 15.7.97 — CONSOLIDATED RESPONSIVE AUTHORITY
   Single final authority for inner-page titles and Home tablet alignment.
   Replaces the incremental 15.7.92–15.7.96 overrides.
   ===================================================================== */
:root{
  --tca-inner-page-edge:clamp(40px,8.2vw,136px);
  --tca-inner-page-title-gap:clamp(50px,5.4vh,74px);
  --tca-inner-page-title-size:clamp(48px,3.35vw,56px);
  --tca-inner-page-title-bottom:clamp(34px,4vh,48px);
}
body .tca-v35-root.tca-editorial-page,
body .tca-v35-root.tca-contact-page,
body .tca-v35-root.tca-journal-clean-page{
  padding-top:var(--tca-header-h)!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
}
body .tca-v35-root.tca-editorial-page > .tca-editorial-main,
body .tca-v35-root.tca-contact-page > .tca-contact-main{
  padding-top:var(--tca-inner-page-title-gap)!important;
  margin-top:0!important;
  overflow:visible!important;
}
body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading,
body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading,
body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
  display:block!important; position:static!important; inset:auto!important;
  box-sizing:border-box!important;
  width:calc(100vw - (2 * var(--tca-inner-page-edge)))!important;
  max-width:none!important; height:auto!important; min-height:0!important; max-height:none!important;
  margin:0 auto var(--tca-inner-page-title-bottom)!important; padding:0!important;
  overflow:visible!important; clip:auto!important; clip-path:none!important; contain:none!important;
  transform:none!important; translate:none!important; opacity:1!important; visibility:visible!important;
}
body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading{
  margin-top:var(--tca-inner-page-title-gap)!important;
}
body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > h1,
body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > h1,
body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > h1{
  display:block!important; position:static!important; inset:auto!important;
  width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
  margin:0!important; padding:.06em 0 .05em!important; overflow:visible!important;
  clip:auto!important; clip-path:none!important; contain:none!important; transform:none!important; translate:none!important;
  opacity:1!important; visibility:visible!important;
  font-family:"Urbanist",Arial,sans-serif!important; font-size:var(--tca-inner-page-title-size)!important;
  font-weight:400!important; font-style:normal!important; font-synthesis:none!important;
  line-height:1.08!important; letter-spacing:-.035em!important; color:#3d3d3d!important;
  white-space:normal!important; text-indent:0!important; text-rendering:geometricPrecision!important;
}
body .tca-v35-root.tca-editorial-page > .tca-editorial-main > header.tca-editorial-page-heading > span,
body .tca-v35-root.tca-contact-page > .tca-contact-main > header.tca-contact-page-heading > .tca-contact-page-line,
body .tca-v35-root.tca-journal-clean-page > header.tca-journal-clean-heading > span{
  display:block!important; position:static!important; width:34px!important; height:1px!important;
  margin:13px 0 0!important; padding:0!important; background:#b89b5e!important; transform:none!important;
}
@media (min-width:901px) and (max-width:1180px){
  :root{--tca-inner-page-edge:38px;--tca-inner-page-title-gap:68px;--tca-inner-page-title-size:50px;--tca-inner-page-title-bottom:42px;}
}
@media (min-width:701px) and (max-width:900px){
  :root{--tca-inner-page-edge:34px;--tca-inner-page-title-gap:64px;--tca-inner-page-title-size:48px;--tca-inner-page-title-bottom:40px;}
}
@media (max-width:700px){
  :root{--tca-inner-page-edge:28px;--tca-inner-page-title-gap:66px;--tca-inner-page-title-size:44px;--tca-inner-page-title-bottom:36px;}
}
@media (max-width:420px){
  :root{--tca-inner-page-edge:26px;--tca-inner-page-title-gap:62px;--tca-inner-page-title-size:40px;--tca-inner-page-title-bottom:34px;}
}

/* Tablet Home quotation: horizontal centring only. Its established grid row
   remains the sole vertical authority, so the quote cannot jump onto the image. */
@media (min-width:701px) and (max-width:1180px){
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    position:relative!important; left:50%!important; right:auto!important;
    width:80vw!important; max-width:80vw!important; margin-left:0!important; margin-right:0!important;
    padding-left:0!important; padding-right:0!important; box-sizing:border-box!important;
    transform:translateX(-50%)!important; text-align:center!important; overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    left:0!important; right:0!important; width:100%!important; max-width:100%!important;
    margin:0!important; padding:0!important; display:flex!important; align-items:center!important;
    justify-content:center!important; gap:.42em!important; text-align:center!important;
    white-space:normal!important; overflow:visible!important; text-overflow:clip!important;
    transform:translate3d(0,-50%,0)!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    flex:0 1 auto!important; width:auto!important; max-width:calc(80vw - 72px)!important;
    margin:0!important; text-align:center!important; white-space:normal!important;
  }
}

/* iPad/tablet landscape: preserve approved media and CTA sizes. The legacy
   frame rails are asymmetric by 50px, so shift the media/CTA datum by half
   that amount only. No scaling and no vertical-position override. */
@media (min-width:901px) and (max-width:1180px) and (orientation:landscape){
  .tca-home-root--gallery .tca-home-gallery-stage{transform:translateX(-25px)!important;}
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    transform:translateX(-25px)!important; box-sizing:border-box!important; padding-right:28px!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{white-space:nowrap!important;}
}


/* =====================================================================
   TCA 15.7.98 — HOME CENTRE IMAGE + TRUE EQUAL SIDE GLIMPSES
   Final Home geometry authority. The active golden-ratio image is enlarged
   while remaining locked to the exact viewport centre. Previous/next slides
   are positioned from the same width and constant physical gap, so the left
   and right visible glimpses are mathematically identical. Quote and WORK →
   use the same centre/image datum. No mobile portrait or inner-page changes.
   ===================================================================== */
@media (min-width:1181px){
  .tca-home-root--gallery{
    --tca-home-active-w:min(72vw,1440px)!important;
    --tca-home-active-h:calc(var(--tca-home-active-w) / 1.61803398875)!important;
    --tca-home-neighbour-gap:clamp(18px,1.35vw,26px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:0!important;
    grid-template-rows:58px var(--tca-home-active-h) 30px!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    position:absolute!important;
    inset:auto!important;
    top:50%!important;
    left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    width:var(--tca-home-active-w)!important;
    min-width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
    margin:0!important;
    aspect-ratio:1.61803398875 / 1!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(calc(-100% - var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
    opacity:.58!important; visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(calc(100% + var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
    opacity:.58!important; visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail,
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    position:relative!important;
    left:auto!important;
    width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    margin-left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    margin-right:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    padding:0!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    left:0!important; right:0!important; width:100%!important; max-width:100%!important;
    padding:0!important; margin:0!important; justify-content:center!important; text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    padding:2px 0 0!important;
    justify-content:flex-end!important;
  }
}

/* iPad / touch-tablet landscape, including 12.9-inch/13-inch iPads whose
   landscape CSS viewport can be wider than the old 1180px tablet breakpoint. */
@media (min-width:901px) and (max-width:1400px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .tca-home-root--gallery{
    --tca-home-active-w:86vw!important;
    --tca-home-active-h:calc(var(--tca-home-active-w) / 1.61803398875)!important;
    --tca-home-neighbour-gap:clamp(16px,1.35vw,22px)!important;
  }
  .tca-home-root--gallery .tca-home-gallery-page{
    overflow-x:hidden!important;
  }
  .tca-home-root--gallery .tca-home-gallery,
  .tca-home-root--gallery .tca-home-gallery-frame{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:0!important;
  }
  .tca-home-root--gallery .tca-home-gallery-frame{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:58px var(--tca-home-active-h) 30px!important;
    row-gap:8px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-stage{
    grid-area:2 / 1!important;
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .tca-home-root--gallery .tca-home-slide{
    position:absolute!important;
    inset:auto!important;
    top:50%!important;
    left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    width:var(--tca-home-active-w)!important;
    min-width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    height:var(--tca-home-active-h)!important;
    min-height:var(--tca-home-active-h)!important;
    max-height:var(--tca-home-active-h)!important;
    margin:0!important;
    aspect-ratio:1.61803398875 / 1!important;
    overflow:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-active{
    transform:translate3d(0,-50%,0) scale(1)!important;
    opacity:1!important; visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-prev{
    transform:translate3d(calc(-100% - var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
    opacity:.58!important; visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-next{
    transform:translate3d(calc(100% + var(--tca-home-neighbour-gap)),-50%,-30px) scale(1)!important;
    opacity:.58!important; visibility:visible!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-before{
    transform:translate3d(calc(-200% - (2 * var(--tca-home-neighbour-gap))),-50%,-60px) scale(1)!important;
    opacity:0!important; visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-slide.is-after{
    transform:translate3d(calc(200% + (2 * var(--tca-home-neighbour-gap))),-50%,-60px) scale(1)!important;
    opacity:0!important; visibility:hidden!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail,
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-column:1!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:var(--tca-home-active-w)!important;
    max-width:var(--tca-home-active-w)!important;
    margin-left:calc((100vw - var(--tca-home-active-w)) / 2)!important;
    margin-right:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption-rail{
    grid-row:1!important;
    min-height:58px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-gallery-caption{
    position:absolute!important;
    inset:50% 0 auto 0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.42em!important;
    transform:translateY(-50%)!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .tca-home-root--gallery .tca-home-quote-text{
    max-width:calc(var(--tca-home-active-w) - 72px)!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .tca-home-root--gallery .tca-home-gallery-work-rail{
    grid-row:3!important;
    min-height:30px!important;
    padding:2px 0 0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  .tca-home-root--gallery .tca-home-slider-work{
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
}
