﻿:root{
  --serif:'Cinzel', 'Times New Roman', serif;
  --sans:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --script:'Great Vibes', 'Palatino Linotype', cursive;

  --pad:clamp(20px, 4.5vw, 72px);
  --wrap:1560px;
  --ease:cubic-bezier(.19,1,.22,1);
  --nav-h:clamp(78px, 8.6vw, 112px);
  --theme-dur:0.8s;
}

body,
body[data-theme="night"]{
  --bg:#1a1a1a;
  --fg:#F4F1EA;
  --muted:rgba(244,241,234,.68);
  --faint:rgba(244,241,234,.42);
  --line:rgba(244,241,234,.17);
  --line-soft:rgba(244,241,234,.09);
  --edge:rgba(244,241,234,.34);
  --accent:#C8B9A2;
  --accent-2:#A69888;
  --media-bg:linear-gradient(135deg,#2c2d28,#4a453c);
  --nav-a:rgba(14,15,13,.62);
  --nav-shadow:0 1px 18px rgba(0,0,0,.62);
}
body[data-theme="cream"]{
  --bg:#EDE6D6;
  --fg:#1A1A1A;
  --muted:rgba(26,26,26,.90);
  --faint:rgba(26,26,26,.75);
  --line:rgba(26,26,26,.20);
  --line-soft:rgba(26,26,26,.10);
  --edge:rgba(26,26,26,.45);
  --accent:#8C7E6E;
  --accent-2:#6F6354;
  --media-bg:linear-gradient(135deg,#E7DFD0,#d4c9b6);
  --nav-a:rgba(237,230,214,.88);
  --nav-shadow:0 1px 0 rgba(255,255,255,0);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;overflow-x:hidden}
html:not(.is-ready){overflow:hidden}
html.no-loader .loader{display:none !important}
html.no-loader .nav{opacity:1;transform:none}
html.no-loader main{animation:pageIn .48s cubic-bezier(.19,1,.22,1) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--sans);
  font-weight:300;
  font-size:clamp(15px,1.02vw,17px);
  line-height:1.72;
  letter-spacing:.005em;
  overflow-x:hidden;
  max-width:100%;
  -webkit-font-smoothing:antialiased;
  transition:background-color 0.8s ease-out,color 0.8s ease-out;
}

img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
::selection{background:var(--accent);color:var(--bg)}

.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

html.lenis,html.lenis body{height:auto;overflow-x:hidden}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}

body,.stage,.about__cell,.stone-showcase,.menu{
  transition:background-color 0.8s ease-out,color 0.8s ease-out;
}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}

.eyebrow{
  display:inline-flex;align-items:center;gap:.85em;
  font-size:clamp(11px,.78vw,12.5px);
  font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--accent-2);
}
.eyebrow i{display:block;width:clamp(28px,3vw,54px);height:1px;background:currentColor;opacity:.55}

.sec-title{
  margin:.55em 0 0;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(30px,4.05vw,74px);
  line-height:1.07;letter-spacing:-.015em;
}

.sec-lead{
  max-width:46ch;margin:1.6em 0 0;
  font-size:clamp(15px,1.12vw,18.5px);
  line-height:1.78;color:var(--muted);
}

.section{position:relative;overflow:hidden;padding:clamp(96px,13vh,190px) 0}
.section > :not(.giant):not(.atelier__mark){position:relative;z-index:1}
.sec-head{max-width:1180px}
.sec-head--split{
  display:grid;gap:clamp(28px,4vw,90px);
  grid-template-columns:1.25fr .75fr;align-items:end;max-width:none;
}
.sec-head--split .sec-lead{margin-top:0}


.giant{
  position:absolute;left:50%;top:6%;z-index:0;
  margin:0;padding:0;
  pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--serif);font-weight:700;
  font-size:clamp(92px,24vw,380px);line-height:.78;
  letter-spacing:-.045em;text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:1.5px var(--edge);
  opacity:.34;
  transform:translateX(-50%);
  will-change:auto;
}


.stone-showcase{
  min-height:100vh;min-height:100svh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:calc(var(--nav-h) + 8px) 0 0;
  overflow:hidden;background:var(--bg);
}
.stone-hint{
  position:relative;z-index:2;margin:0 0 clamp(8px,1.5vh,18px);
  font-size:clamp(10px,.74vw,12px);font-weight:400;
  letter-spacing:.34em;text-transform:uppercase;
  color:var(--faint);
}
.stone-stage{
  position:relative;
  width:100%;
  max-width:100%;
  height:min(80vh,820px);
  overflow:hidden;
}
#stoneViewer{
  width:100%;height:100%;
  outline:none;background:transparent;cursor:grab;
  --poster-color:transparent;
}
#stoneViewer:active{cursor:grabbing}
.stone-fallback{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1.15em;
  background:
    radial-gradient(80% 70% at 50% 42%, rgba(200,185,162,.12) 0%, transparent 58%),
    linear-gradient(180deg,#161714 0%,#1c1b18 100%);
}
.stone-fallback[hidden]{display:none !important}
.stone-fallback img{
  width:min(168px,38vw);height:auto;opacity:.92;
}
.stone-fallback p{
  margin:0;
  font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--faint);
}
.stone-showcase.is-fallback #stoneViewer{visibility:hidden;pointer-events:none}
.stone-ui{
  position:absolute;left:var(--pad);bottom:clamp(24px,4.5vh,52px);z-index:3;
  display:flex;align-items:stretch;
  max-width:calc(100% - 2 * var(--pad));
  border:1px solid var(--line);
  background:rgba(14,15,13,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.stone-ui button{
  padding:1.05em 1.45em;
  font-size:clamp(10px,.72vw,11.5px);font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--faint);border-right:1px solid var(--line);
  transition:color .45s var(--ease),background-color .45s var(--ease);
}
.stone-ui button:last-child{border-right:0}
.stone-ui button:hover{color:var(--fg)}
.stone-ui button.active{color:#A69888;background:rgba(166,152,136,.08)}


.about{
  padding:clamp(72px,10vh,140px) 0;
}
.about__bento{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.28fr) minmax(0,.9fr);
  min-height:clamp(560px,78vh,820px);
  border:1px solid var(--line);
  overflow:hidden;
}
.about__cell{
  min-width:0;min-height:0;
  background:var(--bg);
}
.about__cell + .about__cell{border-left:1px solid var(--line)}

.about__cell--media{overflow:hidden}
.about__shot{
  height:100%;
  min-height:100%;
  border-radius:0;
  background:var(--media-bg);
}
.about__shot img{height:100%}

.about__cell--copy{
  display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(36px,4.6vw,72px);
}
.about__heading{
  margin:0;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(20px,2.15vw,34px);
  letter-spacing:.22em;text-transform:uppercase;
  line-height:1.15;
}
.about__rule{
  display:block;width:52px;height:1px;margin:clamp(28px,4.5vh,52px) 0;
  background:var(--fg);opacity:.38;
}
.about__text{
  margin:0;max-width:34ch;
  font-size:clamp(15px,1.12vw,18.5px);
  line-height:2.08;color:var(--muted);
}

.about__cell--meta{
  display:grid;grid-template-rows:1fr 1fr;
}
.about__since{
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(28px,3.6vw,52px);
  border-bottom:1px solid var(--line);
}
.about__kicker{
  font-size:clamp(10px,.72vw,11.5px);font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:var(--accent-2);
}
.about__year{
  margin:.2em 0 0;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(48px,5.6vw,92px);
  line-height:.9;letter-spacing:-.04em;
}
.about__since-sub{
  margin:.55em 0 0;
  font-size:clamp(11px,.82vw,13px);font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;color:var(--muted);
}
.about__sign{
  margin:0;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(28px,3.6vw,52px);
  background:color-mix(in srgb, var(--fg) 4%, var(--bg));
}
.about__script{
  margin:0;
  font-family:var(--script);
  font-size:clamp(42px,4.6vw,72px);
  font-weight:400;line-height:.95;color:var(--fg);
}
.about__script-a{
  display:inline-block;
  font-size:1.2em;
  line-height:1;
  vertical-align:-0.05em;
}
.about__sign figcaption{
  margin:.7em 0 0;
  font-size:10.5px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--accent-2);
}


.split{padding-top:var(--nav-h)}
.split__grid{
  display:grid;
  grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr);
  min-height:calc(100svh - var(--nav-h));
  border-top:1px solid var(--line);
}
.split__nav{
  padding:clamp(36px,6.5vh,88px) clamp(24px,3.6vw,64px) clamp(80px,12vh,140px);
  border-right:1px solid var(--line);
}
.split__item + .split__item{border-top:1px solid var(--line)}
.split__name{
  width:100%;
  padding:.42em 0 .28em;
  text-align:left;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,4.6vw,78px);
  line-height:1.02;
  letter-spacing:-.028em;
  color:var(--faint);
}
.split__item.is-open .split__name,
.split__name:hover{color:var(--fg)}

.split__subs{
  display:grid;
  grid-template-rows:0fr;
}
.split__item.is-open .split__subs{grid-template-rows:1fr}
.split__subs-inner{
  min-height:0;
  overflow:hidden;
  padding:0 0 clamp(28px,4.4vh,52px);
}
.split__sub{
  display:block;
  width:100%;
  padding:.48em 0;
  text-align:left;
  font-size:clamp(12px,.92vw,15px);
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--faint);
}
.split__sub:hover:not(.is-active){color:var(--fg)}
.split__sub.is-active{color:var(--accent)}

.split__stage{
  position:sticky;
  top:var(--nav-h);
  height:calc(100svh - var(--nav-h));
  align-self:start;
  display:flex;
  flex-direction:column;
}
.split__screen{
  position:relative;
  flex:1;
  min-height:0;
  overflow:hidden;
  background:var(--media-bg);
}
.split__screen img,
.split__screen video{
  position:absolute;inset:0;
  width:100%;height:100%;
  max-width:none;
  object-fit:cover;
}
.split__screen img{opacity:1;z-index:1}
.split__screen video{opacity:0;z-index:0}

.split__toggle{
  position:absolute;
  right:clamp(16px,2vw,28px);
  bottom:clamp(16px,2vw,28px);
  z-index:3;
  display:flex;
  align-items:center;
  gap:.85em;
  padding:.7em .95em;
  border:1px solid var(--line);
  background-color:rgba(237,230,214,.78);
  background-color:color-mix(in srgb, var(--bg) 78%, transparent);
}
.split__toggle i{
  width:1px;height:11px;
  background:var(--line);
}
.split__toggle button{
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--faint);
}
.split__toggle button.is-on{color:var(--accent)}

.split__cap{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1.5em;
  min-height:68px;
  padding:1.05em clamp(18px,2vw,32px);
  border-top:1px solid var(--line);
}
.split__cap #splitKicker{
  font-size:10px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--faint);
}
.split__cap #splitTitle{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(16px,1.35vw,22px);
  letter-spacing:.02em;
}


.btn{
  --btn-bg:transparent;--btn-bd:var(--edge);--btn-fg:var(--fg);
  --btn-hover:var(--fg);--btn-hover-fg:var(--bg);
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:1.15em 2.35em;
  font-size:clamp(10.5px,.74vw,12px);
  font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--btn-fg);border:1px solid var(--btn-bd);border-radius:999px;
  overflow:hidden;isolation:isolate;
  transition:color .5s var(--ease),border-color .5s var(--ease);
}
.btn span{position:relative;z-index:2}
.btn::before,.btn::after{content:'';position:absolute;inset:0;z-index:1}
.btn::before{
  background-color:var(--btn-bg);
  transition:background-color var(--theme-dur) var(--ease);
}
.btn::after{
  background:var(--btn-hover);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .6s var(--ease);
}
.btn:hover{color:var(--btn-hover-fg);border-color:var(--btn-hover)}
.btn:hover::after{transform:scaleY(1)}

.btn--solid{--btn-bg:var(--fg);--btn-bd:var(--fg);--btn-fg:var(--bg);--btn-hover:var(--accent);--btn-hover-fg:var(--bg)}
.btn--outline{--btn-bd:var(--edge);--btn-hover:var(--accent);--btn-hover-fg:var(--bg)}
.btn--block{width:100%;margin-top:.6em}


.loader{
  position:fixed;inset:0;z-index:300;
  display:grid;place-items:center;
  overflow:hidden;background:#161714;
}
.loader__bg{position:absolute;inset:0;background:#161714}
.loader__mark{
  position:relative;
  width:clamp(210px,26vw,360px);
  aspect-ratio:1;
  transform-origin:50.45% 42.6%;
  will-change:transform,opacity,filter;
}
.loader__logo{width:100%;height:100%;object-fit:contain}
.loader.is-done{
  opacity:0;visibility:hidden;pointer-events:none;
}


.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;column-gap:clamp(18px,3vw,60px);
  padding:0 var(--pad);
}


.nav::before{
  content:'';position:absolute;left:0;right:0;top:0;
  height:calc(var(--nav-h) * 2.05);
  background-color:var(--nav-a);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 38%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 38%,transparent 100%);
  pointer-events:none;
  transition:background-color 0.8s ease-out,opacity .5s var(--ease);
  opacity:.94;
}
.nav.is-stuck::before{opacity:1}
.nav::after{
  content:'';position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;
  background:var(--line);transform:scaleX(0);pointer-events:none;
  transition:transform 1s var(--ease);
}
.nav.is-stuck::after{transform:scaleX(1)}

.nav__side{display:flex;align-items:center;gap:clamp(16px,2.4vw,44px);position:relative}
.nav__side--left{justify-content:flex-end}
.nav__side--right{justify-content:flex-start}

.nav__side a{
  position:relative;padding:6px 0;overflow:hidden;
  font-size:clamp(9.5px,.65vw,11px);
  font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fg);text-shadow:var(--nav-shadow);
}
.nav__side a span{display:block;transition:transform .55s var(--ease)}
.nav__side a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--ease);
}
.nav__side a:hover::after{transform:scaleX(1)}
.nav__side a:hover span{transform:translateY(-2px)}

.nav__brand{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  justify-self:center;
  background:none;border:0;box-shadow:none;
}
.nav__brand:hover img{transform:translateY(-2px)}
.nav__brand img{
  height:calc(var(--nav-h) * .70);width:auto;object-fit:contain;
  transition:transform .8s var(--ease);
}

.nav__brand-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.1;
  color:var(--fg);
  text-shadow:var(--nav-shadow);
  transition:color var(--theme-dur) var(--ease);
}
.nav__brand-name,
.nav__brand-surname{
  display:block;
  font-family:var(--serif);
  white-space:nowrap;
}
.nav__brand-name{
  font-size:clamp(12px,.9vw,14px);
  font-weight:400;
  letter-spacing:.15em;
  margin-right:-.15em;
}
.nav__brand-surname{
  font-size:clamp(17px,1.3vw,21px);
  font-weight:500;
  letter-spacing:.25em;
  margin-right:-.25em;
}

.burger{display:none;width:34px;height:34px;place-items:center;justify-self:start;position:relative}
.burger i{
  display:block;width:24px;height:1px;background:var(--fg);
  box-shadow:var(--nav-shadow);
  transition:transform .5s var(--ease),background-color var(--theme-dur) var(--ease);
}
.burger i+i{margin-top:6px}
body.menu-open .burger i:first-child{transform:translateY(3.5px) rotate(45deg)}
body.menu-open .burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.menu{
  position:fixed;inset:0;z-index:95;
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(28px,6vh,60px);
  padding:calc(var(--nav-h) + 24px) var(--pad) var(--pad);
  background:var(--bg);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .95s var(--ease),background-color var(--theme-dur) var(--ease);
  pointer-events:none;
}
body.menu-open .menu{clip-path:inset(0 0 0 0);pointer-events:auto}
.menu__inner{display:grid;gap:clamp(4px,1.2vh,14px)}
.menu__inner a{
  display:flex;align-items:baseline;gap:.7em;
  font-family:var(--serif);
  font-size:clamp(30px,7.6vw,58px);line-height:1.12;font-weight:500;
  opacity:0;transform:translateY(26px);
  transition:opacity .7s var(--ease),transform .7s var(--ease),color .4s;
}
.menu__inner a span{
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.24em;color:var(--accent);
}
.menu__inner a:hover{color:var(--accent-2)}
body.menu-open .menu__inner a{opacity:1;transform:none}
body.menu-open .menu__inner a:nth-child(1){transition-delay:.16s}
body.menu-open .menu__inner a:nth-child(2){transition-delay:.22s}
body.menu-open .menu__inner a:nth-child(3){transition-delay:.28s}
body.menu-open .menu__inner a:nth-child(4){transition-delay:.34s}
body.menu-open .menu__inner a:nth-child(5){transition-delay:.4s}
body.menu-open .menu__inner a:nth-child(6){transition-delay:.46s}
.menu__foot{
  display:flex;flex-wrap:wrap;gap:18px 48px;
  padding-top:clamp(20px,3vh,34px);border-top:1px solid var(--line);
  font-size:13px;color:var(--muted);
}
.menu__foot p{margin:0}


.hero{position:sticky;top:0;z-index:1;height:100vh;height:100svh;background:#141512}
.hero__inner{
  position:absolute;inset:0;overflow:hidden;
  transform:scale(1);transform-origin:50% 45%;
  will-change:transform,opacity;
}

.hero__media{position:absolute;inset:0;z-index:0}
.hero__video{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.hero__media.is-fallback{background:linear-gradient(135deg,#cfc6b8,#8c7e6e 45%,#4d463d)}
.hero__media.is-fallback .hero__video{opacity:0}

.hero__scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(118% 88% at 50% 44%,rgba(18,19,16,.38) 0%,rgba(18,19,16,.56) 58%,rgba(18,19,16,.78) 100%),
    linear-gradient(to bottom,rgba(18,19,16,.5) 0%,rgba(18,19,16,0) 26%,
                    rgba(18,19,16,0) 62%,rgba(18,19,16,.52) 100%);
}

.hero__center{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(14px,2.2vh,28px);
  padding:calc(var(--nav-h) + clamp(20px,4vh,54px)) var(--pad) clamp(96px,14vh,150px);
  text-align:center;color:#F4F1EA;
}

.hero__eyebrow{
  display:flex;align-items:center;gap:clamp(12px,1.6vw,26px);margin:0;
  font-size:clamp(14px,1.2vw,18px);
  font-weight:500;letter-spacing:.4em;text-transform:uppercase;
  color:rgba(244,241,234,.78);
}
.hero__eyebrow i{
  display:block;width:clamp(26px,4vw,64px);height:1px;
  background:currentColor;opacity:.5;
}

.ltr{display:inline-block;will-change:transform}
[data-letters]{
  overflow:hidden;
  padding-top:.16em;padding-bottom:.1em;
  margin-top:-.16em;margin-bottom:-.1em;
}

.hero__rule{width:min(220px,32vw);height:1px;overflow:hidden}
.hero__rule i{
  display:block;width:100%;height:100%;
  background:linear-gradient(to right,transparent,rgba(198,185,162,.8),transparent);
  transform:scaleX(0);
}

.hero__lead{
  max-width:36ch;margin:0;
  font-size:clamp(13.5px,.98vw,16.5px);line-height:1.85;
  color:rgba(244,241,234,.72);
  text-shadow:0 2px 20px rgba(0,0,0,.4);
}

.hero__scroll{
  position:absolute;left:var(--pad);bottom:clamp(26px,4.5vh,52px);z-index:3;
  display:flex;align-items:center;gap:14px;
  font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(244,241,234,.78);
}
.hero__scroll i{
  display:block;width:clamp(40px,5vw,74px);height:1px;
  background:currentColor;transform-origin:left;
  animation:scrollLine 2.6s var(--ease) infinite;
}
@keyframes scrollLine{
  0%{transform:scaleX(.25);opacity:.4}
  45%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(.25);opacity:.4}
}

.hero__place{
  position:absolute;right:var(--pad);bottom:clamp(26px,4.5vh,52px);z-index:3;margin:0;
  font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(244,241,234,.6);
}

.social{
  position:absolute;left:0;top:50%;z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:22px;
  padding:0 clamp(14px,2vw,22px);
  transform:translateY(-50%);
}
.social::before,.social::after{
  content:'';display:block;width:1px;height:clamp(28px,5vh,56px);
  background:linear-gradient(to bottom,transparent,rgba(244,241,234,.45));
}
.social::after{background:linear-gradient(to bottom,rgba(244,241,234,.45),transparent)}
.social a{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(244,241,234,.78);
  transition:color .45s var(--ease),opacity .45s var(--ease);
}
.social a:hover{color:#F4EFE6}


.stage{
  position:relative;z-index:2;
  background:var(--bg);
  border-radius:clamp(20px,2.4vw,40px) clamp(20px,2.4vw,40px) 0 0;
  box-shadow:0 -40px 90px -30px rgba(20,21,18,.4);
}
.page-inner .stage{
  border-radius:0;
  box-shadow:none;
}

.media{
  position:relative;margin:0;overflow:hidden;
  background:var(--media-bg);border-radius:2px;
}
.media img{width:100%;height:100%;object-fit:cover}
.media--tall{aspect-ratio:4/5}

html:not(.has-js) .media img{transition:transform 1.4s var(--ease)}
html:not(.has-js) .service:hover .media img,
html:not(.has-js) .card:hover .media img{transform:scale(1.05)}

.masonry{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;
  pointer-events:none;overflow:hidden;
}
.masonry__row{display:flex;flex:1 1 0;min-height:0}
.masonry__row.is-shift{
  width:calc(100% + 100% / var(--cols, 8));
  transform:translateX(calc(-50% / var(--cols, 8)));
}
.masonry i{
  display:block;flex:1 1 0;
  background:var(--bg);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 9%, var(--bg));
  will-change:transform,opacity;
}

.services__grid{
  display:grid;gap:clamp(34px,4vw,64px);
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(56px,8vh,110px);
}
.service{position:relative;padding-top:26px}
.service__line{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:var(--line);transform:scaleX(0);transform-origin:left;
}
.service__idx{
  position:absolute;top:26px;right:0;
  font-family:var(--serif);font-size:12px;letter-spacing:.14em;color:var(--accent);
}
.service .media{margin-bottom:clamp(22px,2.6vw,34px)}
.service__title{
  margin:0 0 .5em;font-family:var(--serif);font-weight:500;
  font-size:clamp(21px,1.9vw,32px);line-height:1.14;
}
.service__text{margin:0;color:var(--muted);font-size:clamp(15.5px,1.08vw,18px)}
.service__list{
  margin-top:1.8em;padding-top:1.2em;border-top:1px solid var(--line-soft);
  display:grid;gap:.7em;
}
.service__list li{
  position:relative;padding-left:1.5em;
  font-size:clamp(14px,1vw,16px);color:var(--muted);
}
.service__list li::before{
  content:'';position:absolute;left:0;top:.72em;
  width:9px;height:1px;background:var(--accent);
}

.marquee{
  padding:clamp(16px,2.4vh,28px) 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;
}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__track span{
  display:block;padding-right:.2em;white-space:nowrap;
  font-family:var(--serif);font-weight:400;
  font-size:clamp(24px,3.4vw,58px);color:var(--accent);
}

.projects{overflow:visible;padding:0;max-width:100%}
.rail{
  box-sizing:border-box;
  min-height:100vh;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(16px,2.2vh,32px);
  padding:calc(var(--nav-h) + clamp(8px,1.6vh,20px)) 0 clamp(28px,4.5vh,52px);
}
.rail__head{
  display:grid;gap:clamp(16px,2.4vw,56px);
  grid-template-columns:1.2fr .8fr;align-items:end;
}
.rail__head .sec-lead{margin-top:0}
.rail__head .sec-title{font-size:clamp(26px,3.2vw,52px)}
.rail__view{
  overflow:hidden;
  padding-bottom:0;
}
html:not(.has-js) .rail__view,html.reduce-rail .rail__view{overflow-x:auto;overflow-y:hidden}
.rail__track{
  display:flex;
  align-items:stretch;
  gap:clamp(48px,6.5vw,110px);
  padding:0 var(--pad);
  padding-right:clamp(72px,18vw,280px);
  width:max-content;will-change:transform;
}
.card{
  flex:0 0 auto;
  width:min(400px,78vw);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  align-self:stretch;
}
.card .media{
  width:100%;
  height:min(400px,42vh);
  aspect-ratio:5/6;
  flex:0 0 min(400px,42vh);
  overflow:hidden;
}
.card .media img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.card__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:.42em;
  width:100%;
  margin-top:1.15em;
  padding-top:1em;
  border-top:1px solid var(--line);
}
.card__meta h3{
  display:block;
  width:100%;
  margin:0;
  min-height:calc(1.28em * 2);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(16px,1.2vw,20px);
  line-height:1.28;
}
.card__meta span{
  display:block;
  width:100%;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent-2);
}
.card--more{
  display:flex;flex-direction:column;justify-content:flex-end;
  width:min(400px,78vw);
  height:min(400px,42vh);
  aspect-ratio:5/6;
  flex:0 0 min(400px,42vh);
  align-self:flex-start;
  padding:36px 32px 40px;
  border:1px solid var(--line);
  background:transparent;
}
.card--more__idx{
  font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent-2);
}
.card--more__title{
  margin:.7em 0 1.6em;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(26px,2.2vw,38px);line-height:1.12;
}
.card--more__arrow{display:block;width:48px;color:var(--fg)}
.card--more:hover .card--more__arrow{transform:translateX(8px)}
.card--more__arrow{transition:transform .7s var(--ease)}

.atelier__mark{
  position:absolute;left:-2%;top:4%;z-index:0;
  margin:0;pointer-events:none;user-select:none;
  font-family:var(--serif);font-weight:600;
  font-size:clamp(160px,32vw,460px);line-height:.78;
  letter-spacing:-.05em;color:var(--fg);opacity:.09;
}
.atelier__edit{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  grid-template-areas:
    "copy media"
    "notea media"
    ". noteb";
  column-gap:clamp(36px,7vw,120px);
  row-gap:clamp(28px,5vh,64px);
  align-items:start;
}
.atelier__copy{grid-area:copy;max-width:38em;padding-top:clamp(8px,2vh,24px)}
.atelier__media{grid-area:media;aspect-ratio:4/5;max-width:560px;justify-self:end;width:100%}
.note{
  max-width:220px;
}
.note i{
  display:block;width:48px;height:1px;margin-bottom:1.15em;
  background:var(--fg);opacity:.35;transform:scaleX(0);transform-origin:left;
}
.note--b i{margin-left:auto;transform-origin:right}
.note strong{
  display:block;font-family:var(--serif);font-weight:500;
  font-size:clamp(42px,5vw,76px);line-height:.9;letter-spacing:-.03em;
}
.note em{
  display:block;margin:.45em 0 .7em;
  font-style:normal;font-size:10.5px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--accent-2);
}
.note p{margin:0;font-size:clamp(13px,.95vw,15px);line-height:1.7;color:var(--muted)}
.note--a{grid-area:notea;margin-top:clamp(12px,4vh,48px)}
.note--b{grid-area:noteb;justify-self:end;text-align:right;margin-top:clamp(-40px,-6vh,-8px)}


.greton__card{
  position:relative;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(36px,5vw,96px);align-items:center;
  padding:clamp(30px,4.2vw,86px);
  border:1px solid var(--line);
  background:
    linear-gradient(150deg,rgba(196,180,158,.07),rgba(196,180,158,0) 55%),
    radial-gradient(120% 100% at 100% 0%,rgba(196,180,158,.06),transparent 60%);
}
.greton__card::before,.greton__card::after{
  content:'';position:absolute;width:clamp(28px,3vw,54px);height:clamp(28px,3vw,54px);
  border-color:var(--accent);pointer-events:none;
  opacity:0;transform:scale(.25);
  transition:transform 1.3s var(--ease),opacity .9s var(--ease),
             border-color var(--theme-dur) var(--ease);
}
.greton__card::before{
  top:-1px;left:-1px;border-top:1px solid;border-left:1px solid;
  transform-origin:top left;
}
.greton__card::after{
  bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid;
  transform-origin:bottom right;
}
.greton__card.is-in::before,.greton__card.is-in::after{opacity:1;transform:scale(1)}
.greton__card.is-in::after{transition-delay:.18s}

.greton__label{
  display:inline-flex;align-items:center;gap:.85em;
  font-size:clamp(9.5px,.7vw,11px);font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:var(--accent);
}
.greton__label i{display:block;width:clamp(24px,2.6vw,44px);height:1px;background:currentColor;opacity:.6}

.greton__word{
  margin:clamp(18px,2.4vw,34px) 0 0;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(28px,4.6vw,86px);line-height:1;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fg);
  white-space:nowrap;
}
.greton__word .ltr{display:inline-block;will-change:transform,opacity}

.greton__rule{margin:clamp(20px,2.6vw,36px) 0;height:1px;overflow:hidden}
.greton__rule i{
  display:block;height:1px;width:100%;
  background:linear-gradient(to right,var(--accent),transparent);
  transform:scaleX(0);transform-origin:left;
}

.greton__lead{
  margin:0;max-width:48ch;
  font-size:clamp(14.5px,1.05vw,17.5px);line-height:1.82;color:var(--muted);
}

.greton__list{margin:clamp(28px,3.4vw,46px) 0 clamp(30px,3.6vw,50px);display:grid}
.greton__list li{
  display:grid;grid-template-columns:auto 1fr;gap:1.2em;align-items:baseline;
  padding:1.05em 0;border-top:1px solid var(--line-soft);
  font-size:clamp(13.5px,.95vw,15.5px);color:var(--muted);
}
.greton__list li:last-child{border-bottom:1px solid var(--line-soft)}
.greton__list li span{
  font-family:var(--serif);font-size:11.5px;letter-spacing:.14em;color:var(--accent);
}

.greton__media{aspect-ratio:4/5;outline:1px solid var(--line);outline-offset:clamp(8px,1vw,16px)}

.contact__grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(48px,6vw,130px);align-items:start;
}
.contact__list{margin-top:clamp(36px,5vh,60px);border-top:1px solid var(--line)}
.contact__list li{
  display:grid;grid-template-columns:110px 1fr;gap:20px;
  padding:1.15em 0;border-bottom:1px solid var(--line-soft);
  font-size:clamp(13.5px,.95vw,15.5px);color:var(--muted);
}
.contact__list li span{
  font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent-2);padding-top:.45em;
}
.contact__list a:hover{color:var(--accent)}

.form{display:grid;gap:clamp(14px,1.8vw,24px)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:inherit}
.field{position:relative}
.field input,.field textarea,.field select{
  width:100%;padding:1.5em 0 .8em;
  font-family:var(--sans);font-size:clamp(14px,1vw,16px);font-weight:300;
  color:var(--fg);background:transparent;
  border:0;border-bottom:1px solid var(--line);border-radius:0;
  appearance:none;-webkit-appearance:none;
  transition:color var(--theme-dur) var(--ease),border-color .5s var(--ease);
}
.field select option{color:#20211F;background:#EDE6D6}
.field textarea{resize:vertical;min-height:110px;line-height:1.7}
.field label{
  position:absolute;left:0;top:1.5em;
  font-size:clamp(13px,.95vw,15px);color:var(--faint);
  pointer-events:none;transform-origin:left top;
  transition:transform .45s var(--ease),color var(--theme-dur) var(--ease);
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--accent)}
.field input:focus+label,.field textarea:focus+label,
.field input:not(:placeholder-shown)+label,
.field textarea:not(:placeholder-shown)+label,
.field--select label{
  transform:translateY(-1.55em) scale(.72);
  color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;
}
.field input:-webkit-autofill{
  -webkit-text-fill-color:var(--fg);
  -webkit-box-shadow:0 0 0 100px var(--bg) inset;
}
.field--select::after{
  content:'';position:absolute;right:2px;bottom:1.35em;
  width:7px;height:7px;border-right:1px solid var(--accent-2);
  border-bottom:1px solid var(--accent-2);transform:rotate(45deg);pointer-events:none;
}
.field--select select{padding-top:1.8em;cursor:pointer}
.form__note{margin:.2em 0 0;min-height:1.4em;font-size:12.5px;color:var(--accent)}
.form__note.is-error{color:#C4877E}
.form [type="submit"]:disabled{opacity:.45;cursor:wait}

.footer{padding:clamp(70px,9vh,120px) 0 clamp(28px,4vh,48px);border-top:1px solid var(--line)}
.footer__top{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;
}
.footer__nav,.footer__social{display:flex;flex-wrap:wrap;gap:16px clamp(18px,2.2vw,36px)}
.footer__nav a,.footer__social a{
  font-size:clamp(12px,.85vw,13.5px);font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);
}
.footer__nav a,.footer__social a,.contact__list a,.menu__foot a{
  transition:color .45s var(--ease);
}
.footer__nav a:hover,.footer__social a:hover{color:var(--accent)}

.footer__word{
  margin:clamp(48px,8vh,96px) 0 0;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(36px,11vw,210px);line-height:.9;
  letter-spacing:-.02em;text-align:center;text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1.5px var(--edge);opacity:.72;user-select:none;
  overflow:hidden;max-width:100%;
}

.footer__bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;
  margin-top:clamp(34px,5vh,60px);
  padding-top:clamp(18px,2.4vh,28px);border-top:1px solid var(--line-soft);
  font-size:clamp(12px,.85vw,13.5px);letter-spacing:.06em;color:var(--muted);
}
.footer__bottom p{margin:0}

.grain{
  position:fixed;inset:-50%;z-index:400;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

html:not(.has-js) .split__subs{grid-template-rows:1fr}
.has-js [data-fade]{opacity:0}
.has-js [data-story-item]{opacity:0}
html:not(.has-js) [data-fade],
html:not(.has-js) [data-story-item]{opacity:1}
@media (prefers-reduced-motion:reduce){
  .has-js [data-fade],
  .has-js [data-story-item]{opacity:1;transform:none}
}
.has-js .word{
  display:inline-block;overflow:hidden;vertical-align:top;
  padding:.09em 0 .22em;margin:-.09em 0 -.22em;
}
.has-js .word__in{display:inline-block;will-change:transform}

@media (max-width:1180px){
  .services__grid{grid-template-columns:1fr 1fr}
  .service:last-child{grid-column:1/-1;max-width:640px}
  .sec-head--split,.rail__head{grid-template-columns:1fr;align-items:start}
  .greton__card{grid-template-columns:1fr;gap:clamp(34px,5vw,60px)}
  .greton__media{aspect-ratio:16/10}
  .atelier__edit{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "copy copy"
      "notea media"
      "noteb media";
  }
  .atelier__media{max-width:none;justify-self:stretch}
  .note--b{margin-top:0;justify-self:start;text-align:left}
  .note--b i{margin-left:0;transform-origin:left}
  .about__bento{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    min-height:0;
  }
  .about__cell--media{grid-row:1 / span 2}
  .about__cell--copy{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .about__cell--meta{border-left:1px solid var(--line)}
  .about__shot{min-height:100%}
  .split__grid{grid-template-columns:minmax(240px,.42fr) minmax(0,.58fr)}
  .split__name{font-size:clamp(28px,4.2vw,56px)}
}

@media (max-width:900px){
  .nav{grid-template-columns:1fr auto 1fr}
  .nav__side{display:none}
  .burger{display:grid}
  .nav__brand{grid-column:2}
  .hero__place,.social{display:none}
  .stone-ui{left:50%;transform:translateX(-50%)}
  .stone-ui button{padding:.95em 1.05em;letter-spacing:.12em}
  .contact__grid,.atelier__edit{grid-template-columns:1fr}
  .atelier__edit{
    grid-template-areas:
      "copy"
      "media"
      "notea"
      "noteb";
  }
  .note--b{justify-self:end;text-align:right;margin-top:0}
  .note--b i{margin-left:auto;transform-origin:right}
  .about__bento{grid-template-columns:1fr}
  .about__cell--media{grid-row:auto}
  .about__cell + .about__cell{border-left:0;border-top:1px solid var(--line)}
  .about__cell--copy{border-left:0;border-bottom:0}
  .about__cell--meta{border-left:0;min-height:clamp(420px,70vh,560px)}
  .about__shot{min-height:min(58vh,520px)}
  .stage{box-shadow:0 -30px 60px -30px rgba(20,21,18,.36)}
  .page-inner .stage{box-shadow:none}
  .card,.card .media,.card--more{width:min(320px,78vw)}
  .card .media,.card--more{height:min(340px,40vh);flex-basis:min(340px,40vh);aspect-ratio:5/6}
  .split__grid{
    grid-template-columns:1fr;
    min-height:0;
  }
  .split__stage{
    order:-1;
    height:auto;
    z-index:2;
    background:var(--bg);
  }
  .split__screen{flex:none;height:42vh}
  .split__nav{
    border-right:0;
    border-top:1px solid var(--line);
    padding:clamp(28px,5vh,48px) var(--pad) 88px;
  }
  .split__name{font-size:clamp(32px,9vw,52px)}
  .split__cap{min-height:56px}
}

@media (max-width:640px){
  .services__grid{grid-template-columns:1fr}
  .service:last-child{max-width:none}
  .form__row{grid-template-columns:1fr}
  .contact__list li{grid-template-columns:1fr;gap:2px}
  .contact__list li span{padding-top:0}
  .footer__top{flex-direction:column;align-items:flex-start}
  .greton__word{letter-spacing:.04em;font-size:clamp(20px,7vw,32px);white-space:normal}
  .nav__brand-surname{letter-spacing:.12em;font-size:clamp(13px,4.2vw,17px)}
}

@media (prefers-reduced-motion:reduce){
  .hero__scroll i{animation:none}
}

.ecommerce-grid{
  padding:calc(var(--nav-h) + clamp(40px,7vh,88px)) 0 clamp(88px,14vh,160px);
}
.ecommerce-grid__inner{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
}
.ecom-card{min-width:0}
.ecom-card__media{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--media-bg);
}
.ecom-card__media img,
.ecom-card__media video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.ecom-card__media video{z-index:0}
.ecom-card__media img{
  z-index:1;
  opacity:1;
  transition:opacity .85s var(--ease);
}
.ecom-card__media img.ecom-card__standin{
  z-index:0;
  object-fit:contain;
  padding:18%;
  background:
    radial-gradient(70% 60% at 50% 42%, rgba(200,185,162,.16) 0%, transparent 62%),
    linear-gradient(165deg,#161714 0%,#24231f 52%,#141512 100%);
  opacity:0;
}
.ecom-card.is-playing .ecom-card__media > img:not(.ecom-card__standin){opacity:0}
.ecom-card.is-playing .ecom-card__media img.ecom-card__standin{opacity:1;z-index:2}
.ecom-card__copy{
  padding:1.2em 0 0;
  text-align:left;
}
.ecom-card__copy span{
  display:block;
  font-size:clamp(12px,.95vw,14px);
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted);
}
.ecom-card__copy h3{
  margin:.42em 0 0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(26px,2.3vw,40px);
  line-height:1.16;
  letter-spacing:.01em;
  color:var(--fg);
}

.media-toggle{
  position:absolute;
  top:clamp(12px,1.1vw,18px);
  right:clamp(12px,1.1vw,18px);
  z-index:2;
  display:flex;
  align-items:center;
  gap:.72em;
  padding:.62em .92em;
  border:1px solid rgba(244,241,234,.26);
  background-color:rgba(15,16,13,.44);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.media-toggle i{
  width:1px;
  height:11px;
  background:rgba(244,241,234,.26);
}
.media-toggle button{
  font-size:clamp(10px,.74vw,12px);
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(244,241,234,.62);
  transition:color .45s var(--ease);
}
.media-toggle button.is-on{color:#C8B9A2}

@media (max-width:900px){
  .ecommerce-grid__inner{
    grid-template-columns:1fr;
    gap:36px;
  }
}


html.page-catalog.no-loader main{
  animation:catalogIn .8s cubic-bezier(.19,1,.22,1) both;
}
@keyframes catalogIn{from{opacity:0}to{opacity:1}}

.category-intro{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:min(86svh,880px);
  padding:calc(var(--nav-h) + clamp(20px,3.2vh,36px)) 0 clamp(48px,7vh,80px);
}
.category-intro__bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#141512;
}
.category-intro__bg img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.category-intro__scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(15,16,13,.88) 0%,rgba(15,16,13,.48) 42%,rgba(15,16,13,.82) 100%),
    radial-gradient(118% 78% at 50% 46%,rgba(15,16,13,.14) 0%,rgba(15,16,13,.74) 100%);
}

.intro-frame{
  position:absolute;
  inset:calc(var(--nav-h) * .62) var(--pad) clamp(24px,4vh,46px);
  z-index:1;
  pointer-events:none;
}
.intro-frame__rule{
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:var(--line);
}
.intro-frame__rule--left{left:0}
.intro-frame__rule--right{right:0}
.intro-frame__rule::before,
.intro-frame__rule::after{
  content:'';
  position:absolute;
  left:0;
  width:clamp(18px,2.2vw,36px);
  height:1px;
  background:var(--line);
}
.intro-frame__rule::before{top:0}
.intro-frame__rule::after{bottom:0}
.intro-frame__rule--right::before,
.intro-frame__rule--right::after{left:auto;right:0}
.intro-note{
  position:absolute;
  font-size:clamp(10px,.76vw,12px);
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--faint);
  white-space:nowrap;
}
.intro-note--tl{top:-.6em;left:clamp(16px,1.6vw,30px)}
.intro-note--tr{top:-.6em;right:clamp(16px,1.6vw,30px)}
.intro-note--bl{bottom:-.6em;left:clamp(16px,1.6vw,30px)}
.intro-note--br{bottom:-.6em;right:clamp(16px,1.6vw,30px)}

.category-intro .wrap{position:relative;z-index:2}
.category-intro p{
  margin:0 auto;
  max-width:760px;
  text-align:center;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(24px,2.9vw,44px);
  line-height:1.55;
  letter-spacing:.01em;
  color:var(--muted);
}

.category-break{
  padding:clamp(88px,16vh,180px) 0 clamp(28px,5vh,48px);
}
.category-break i{
  display:block;
  height:1px;
  background:var(--line);
}
.category-break span{
  display:block;
  margin-top:clamp(28px,4.2vh,44px);
  font-size:clamp(11px,.85vw,13px);
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--faint);
}

.category-shop{
  position:relative;
  z-index:5;
  padding:0 0 clamp(88px,14vh,160px);
  max-width:100%;
  overflow-x:hidden;
}
.category-shop .ecommerce-grid__inner{margin-top:clamp(48px,7vh,80px)}

.category-tabs{
  position:relative;
  z-index:30;
  display:flex;
  flex-wrap:wrap;
  gap:0 clamp(22px,3.2vw,52px);
  border-bottom:1px solid var(--line);
  pointer-events:auto;
}
.category-tabs button{
  position:relative;
  z-index:31;
  padding:0 0 1.15em;
  font-size:clamp(12px,1.05vw,16px);
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--faint);
  pointer-events:auto;
  cursor:pointer;
}
.category-tabs button:hover{color:var(--fg)}
.category-tabs button.is-active{color:var(--fg);font-weight:600}
.category-tabs button::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:var(--accent-2);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .55s var(--ease),opacity .55s var(--ease);
  pointer-events:none;
}
.category-tabs button.is-active::after{transform:scaleX(1)}
body[data-theme="night"] .category-tabs button::after{background:var(--accent)}

.ecom-card.is-hidden{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@media (max-width:640px){
  .category-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    max-width:100%;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .category-tabs button{white-space:nowrap;flex:0 0 auto}
}

@media (prefers-reduced-motion:reduce){
  .ecom-card__media img{transition:none}
}


html.page-story.no-loader main{
  animation:catalogIn .8s cubic-bezier(.19,1,.22,1) both;
}

.story-hero{
  position:relative;
  display:grid;
  place-items:center;
  min-height:100svh;
  padding:calc(var(--nav-h) + clamp(28px,5vh,64px)) var(--pad) clamp(56px,9vh,110px);
  overflow:hidden;
}
.story-hero__sides{
  position:absolute;
  inset:0;
  z-index:0;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.story-hero__side{
  position:relative;
  margin:0;
  overflow:hidden;
  background:var(--media-bg);
}
.story-hero__side img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.story-hero__side::after{
  content:'';
  position:absolute;
  inset:0;
}
.story-hero__side--left::after{
  background:linear-gradient(90deg,rgba(15,16,13,.52) 0%,rgba(15,16,13,.94) 100%);
}
.story-hero__side--right::after{
  background:linear-gradient(270deg,rgba(15,16,13,.52) 0%,rgba(15,16,13,.94) 100%);
}

.story-hero__core{
  position:relative;
  z-index:1;
  width:min(640px,100%);
  padding:clamp(34px,4.4vw,72px) clamp(24px,3.6vw,60px);
  background:var(--bg);
  border:1px solid var(--edge);
  box-shadow:0 60px 140px -50px rgba(0,0,0,.85);
  text-align:center;
}
.story-hero__brand{
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(22px,2.4vw,36px);
  line-height:1.1;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.story-hero__rule{
  display:block;
  width:clamp(48px,5vw,78px);
  height:1px;
  margin:clamp(22px,2.8vh,34px) auto;
  background:var(--accent);
}
.story-hero__manifesto{
  margin:0 auto;
  max-width:44ch;
  font-size:clamp(15px,1.18vw,19px);
  line-height:1.92;
  color:var(--muted);
}

.story-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(20px,2.4vw,40px);
  margin-top:clamp(34px,4.6vh,56px);
  padding-top:clamp(26px,3.6vh,42px);
  border-top:1px solid var(--line);
}
.story-stat + .story-stat{border-left:1px solid var(--line)}
.story-stat__value{
  margin:0;
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(28px,3.4vw,54px);
  line-height:1;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.story-stat__label{
  margin:.85em 0 0;
  font-size:clamp(10px,.74vw,12px);
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--faint);
}

.story-bento{
  position:relative;
  padding:clamp(96px,14vh,190px) 0 clamp(96px,14vh,180px);
  overflow:hidden;
}
.story-bento__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:#141512;
}
.story-bento__bg img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.story-bento__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,16,13,.93) 0%,rgba(15,16,13,.8) 42%,rgba(15,16,13,.96) 100%);
}
.story-bento .wrap{position:relative;z-index:1}
.story-bento__head{max-width:24ch}
.story-bento__title{
  margin:.6em 0 0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(30px,4.2vw,76px);
  line-height:1.05;
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.story-bento__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,2.6vw,44px);
  margin-top:clamp(48px,7vh,92px);
}
.story-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:clamp(18px,1.8vw,28px);
  background-color:rgba(20,21,18,.6);
  border:1px solid var(--line);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.story-card__media{
  position:relative;
  margin:0 0 clamp(20px,2.2vw,30px);
  aspect-ratio:16/11;
  overflow:hidden;
  background:var(--media-bg);
}
.story-card__media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.story-card h3{
  margin:0 0 .7em;
  padding-bottom:.7em;
  border-bottom:1px solid var(--line-soft);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(20px,1.75vw,29px);
  line-height:1.16;
}
.story-card p{
  margin:0;
  font-size:clamp(14px,.98vw,16px);
  line-height:1.86;
  color:var(--muted);
}

.story-lead{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(26px,4vw,80px);
  align-items:end;
  margin-top:clamp(64px,9vh,124px);
  padding-top:clamp(28px,4vh,52px);
  border-top:1px solid var(--line);
}
.story-lead__giant{
  margin:0;
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(42px,8vw,148px);
  line-height:.88;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.story-lead__note{
  margin:0;
  max-width:42ch;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.9;
  color:var(--muted);
}

@media (max-width:1180px){
  .story-bento__grid{grid-template-columns:1fr 1fr}
  .story-card:last-child{grid-column:1 / -1}
}

@media (max-width:900px){
  .story-hero{min-height:0;padding-bottom:clamp(72px,10vh,120px)}
  .story-bento__grid{grid-template-columns:1fr}
  .story-card:last-child{grid-column:auto}
  .story-lead{grid-template-columns:1fr;align-items:start}
}

@media (max-width:640px){
  .story-hero__sides{grid-template-columns:1fr}
  .story-hero__side--right{display:none}
  .story-hero__side--left::after{
    background:linear-gradient(180deg,rgba(15,16,13,.78) 0%,rgba(15,16,13,.94) 100%);
  }
  .story-stats{grid-template-columns:1fr;gap:clamp(22px,4vh,32px)}
  .story-stat + .story-stat{
    border-left:0;
    border-top:1px solid var(--line);
    padding-top:clamp(22px,4vh,32px);
  }
}

html.page-contact.no-loader main{
  animation:pageIn .8s cubic-bezier(.19,1,.22,1) both;
}

.contact-page{
  padding:calc(var(--nav-h) + clamp(36px,7vh,88px)) 0 clamp(36px,6vh,72px);
  text-align:center;
}
.contact-page__title{
  margin:0;
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(52px,11vw,168px);
  line-height:.88;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.contact-page__crumb{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7em;
  margin:clamp(16px,2.2vh,28px) 0 0;
  font-size:clamp(11px,.78vw,13px);
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.contact-page__crumb a{
  color:var(--muted);
  transition:color .45s var(--ease);
}
.contact-page__crumb a:hover{color:var(--fg)}
.contact-page__crumb span{opacity:.55}

.contact-studio{
  padding:calc(var(--nav-h) + clamp(36px,6vh,88px)) 0 clamp(88px,12vh,160px);
}
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(40px,7vw,120px);
  align-items:start;
}

.contact-form{
  padding:clamp(32px,4.2vw,64px);
  background:color-mix(in srgb, var(--fg) 6%, var(--bg));
  border:1px solid var(--line-soft);
  scroll-margin-top:calc(var(--nav-h) + 24px);
}
.contact-form h2{
  margin:.45em 0 .55em;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(28px,3.2vw,52px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.contact-form > p{
  margin:0 0 clamp(28px,3.4vh,44px);
  max-width:42ch;
  font-size:clamp(14px,1vw,16.5px);
  line-height:1.86;
  color:var(--muted);
}
.contact-form .field input,
.contact-form .field textarea{
  padding:1.45em 1.05em .7em;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  transition:border-color .5s var(--ease),color var(--theme-dur) var(--ease);
}
.contact-form .field label{left:1.05em;top:1.15em}
.contact-form .field input:focus,
.contact-form .field textarea:focus{border-color:var(--accent)}
.contact-form .field input:focus+label,
.contact-form .field textarea:focus+label,
.contact-form .field input:not(:placeholder-shown)+label,
.contact-form .field textarea:not(:placeholder-shown)+label{
  transform:translateY(-1.28em) scale(.72);
}
.contact-form .field input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 100px #1c1d1a inset;
}
.contact-form .btn--block{
  margin-top:.2em;
  padding:1.05em 2em;
}

.contact-info__lead{
  margin:0 0 clamp(32px,4.4vh,52px);
  max-width:48ch;
  font-size:clamp(15px,1.12vw,18px);
  line-height:1.9;
  color:var(--muted);
}
.contact-facts{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:1px;
  margin:0 0 clamp(28px,3.6vh,48px);
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.contact-fact{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  row-gap:6px;
  padding:clamp(18px,1.8vw,26px);
  background:var(--bg);
  color:inherit;
  min-width:0;
  transition:background-color .5s var(--ease);
}
a.contact-fact:hover{background:color-mix(in srgb, var(--fg) 4%, var(--bg))}
.contact-fact__ico{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:var(--accent);
  align-self:start;
}
.contact-fact__ico svg{width:22px;height:22px;display:block}
.contact-fact__label{
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent-2);
  padding-top:.2em;
}
.contact-fact__value{
  font-size:clamp(13px,.92vw,15px);
  line-height:1.55;
  color:var(--fg);
}
.contact-fact__mails{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.contact-fact__mails a{
  font-family:var(--sans);
  font-size:clamp(11px,.8vw,13.5px);
  font-weight:300;
  line-height:1.45;
  color:var(--muted);
  word-break:normal;
  overflow-wrap:break-word;
  transition:color .45s var(--ease);
}
.contact-fact__mails a:hover{color:var(--accent)}

.contact-map{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--media-bg);
  border:1px solid var(--line-soft);
}
.contact-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:grayscale(1) contrast(1.08) brightness(.72);
  pointer-events:auto;
}

.contact-cta{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  min-height:min(72svh,740px);
  padding:clamp(80px,12vh,140px) var(--pad);
  overflow:hidden;
}
.contact-cta__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(90% 70% at 50% 40%, rgba(200,185,162,.14) 0%, transparent 55%),
    linear-gradient(180deg,#161714 0%,#121310 48%,#0c0d0b 100%);
}
.contact-cta__bg img,
.contact-cta__bg video{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.contact-cta__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,9,7,.58) 0%,rgba(8,9,7,.78) 100%);
}
.contact-cta__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.contact-cta h2{
  margin:0 0 clamp(28px,4vh,48px);
  max-width:14ch;
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(32px,5.4vw,88px);
  line-height:.98;
  letter-spacing:-.025em;
  text-transform:uppercase;
  color:#F4F1EA;
}
.contact-cta__btn{
  --btn-bg:#F4F1EA;
  --btn-bd:#F4F1EA;
  --btn-fg:#141512;
  --btn-hover:#C8B9A2;
  --btn-hover-fg:#141512;
}

@media (max-width:980px){
  .contact-grid,
  .contact-facts{grid-template-columns:1fr}
}

html.page-services.no-loader main{
  animation:pageIn .8s cubic-bezier(.19,1,.22,1) both;
}

.arch-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:100vh;
  min-height:100svh;
  overflow:hidden;
  background:
    radial-gradient(120% 80% at 16% 18%, rgba(200,185,162,.16) 0%, transparent 46%),
    radial-gradient(90% 70% at 88% 82%, rgba(237,230,214,.07) 0%, transparent 52%),
    linear-gradient(165deg,#1a1a1a 0%,#141512 46%,#1c1b18 100%);
}
.arch-hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(120% 80% at 16% 18%, rgba(200,185,162,.16) 0%, transparent 46%),
    radial-gradient(90% 70% at 88% 82%, rgba(237,230,214,.07) 0%, transparent 52%),
    linear-gradient(165deg,#1a1a1a 0%,#141512 46%,#1c1b18 100%);
}
.arch-hero__bg img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.arch-hero__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,11,9,.88) 0%,rgba(10,11,9,.62) 18%,rgba(10,11,9,.48) 100%);
}
.arch-hero__rail{
  position:relative;
  z-index:1;
  flex:0 0 15%;
  width:15%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  padding:calc(var(--nav-h) + 28px) 0 clamp(28px,4vh,48px);
  background:rgba(8,9,7,.72);
  border-right:1px solid var(--line);
}
.arch-hero__brand,
.arch-hero__count{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:var(--fg);
}
.arch-hero__brand{
  font-size:clamp(11px,.85vw,14px);
}
.arch-hero__count{
  font-family:var(--sans);
  font-size:clamp(10px,.7vw,12px);
  font-weight:500;
  letter-spacing:.28em;
  color:var(--accent-2);
}
.arch-hero__core{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:calc(var(--nav-h) + 24px) var(--pad) clamp(40px,6vh,80px);
}
.arch-hero__core h1{
  margin:0;
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(42px,8.4vw,148px);
  line-height:.86;
  letter-spacing:-.04em;
  text-transform:uppercase;
  color:#F4F1EA;
}
.arch-hero__core p{
  margin:clamp(18px,2.6vh,32px) 0 0;
  max-width:36ch;
  font-size:clamp(14px,1.05vw,18px);
  line-height:1.7;
  color:rgba(244,241,234,.78);
}

.vertical-grid-section{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.vertical-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:min(86vh,920px);
}
.vertical-grid__col{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(28px,4vw,56px) clamp(18px,2.2vw,40px);
  border-right:1px solid var(--line-soft);
  min-width:0;
}
.vertical-grid__col:last-child{border-right:0;padding:0}
.vertical-grid__col h2{
  margin:auto 0 0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(22px,2.1vw,36px);
  line-height:1.12;
  letter-spacing:-.02em;
}
.vertical-grid__slogan{
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(22px,2.15vw,38px);
  line-height:1.16;
  letter-spacing:-.025em;
}
.vertical-grid__copy{
  margin:clamp(28px,4vh,52px) 0 0;
  font-size:clamp(13.5px,.95vw,16px);
  line-height:1.86;
  color:var(--muted);
}
.vertical-grid__col h3{
  margin:0 0 clamp(28px,4vh,48px);
  font-size:clamp(11px,.78vw,12.5px);
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--accent-2);
}
.vertical-grid__list{
  margin:0;
  padding:0;
  list-style:none;
}
.vertical-grid__list li{
  display:flex;
  align-items:baseline;
  gap:14px;
  padding:1.05em 0;
  border-bottom:1px solid var(--line-soft);
  font-family:var(--serif);
  font-size:clamp(16px,1.25vw,22px);
  letter-spacing:.02em;
}
.vertical-grid__list li:last-child{border-bottom:0}
.vertical-grid__list span{
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  color:var(--accent-2);
}
.vertical-grid__col--media{
  position:relative;
  overflow:hidden;
  background:var(--media-bg);
  justify-content:stretch;
}
.vertical-grid__col--media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  filter:grayscale(1) contrast(1.08) brightness(.82);
}

.tall-cards-wrapper{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.tall-card{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:75vh;
  padding:clamp(28px,3.4vw,48px) clamp(18px,2vw,32px);
  overflow:hidden;
  color:#F4F1EA;
}
.tall-card__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:#141512 url("koyu_tas_dokusu_bg.jpg") center/cover;
}
.tall-card__bg img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  will-change:transform;
}
.tall-card__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,9,7,.58) 0%,rgba(8,9,7,.22) 42%,rgba(8,9,7,.78) 100%);
  transition:opacity .7s var(--ease);
}
.tall-card:hover .tall-card__scrim{opacity:.62}
.tall-card h2{
  position:relative;
  z-index:1;
  margin:0;
  max-width:9ch;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(22px,1.85vw,34px);
  line-height:1.12;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.tall-card__meta{
  position:relative;
  z-index:1;
  align-self:flex-start;
  font-size:clamp(10px,.72vw,12px);
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:rgba(244,241,234,.78);
}

@media (max-width:1100px){
  .vertical-grid,
  .tall-cards-wrapper{grid-template-columns:1fr 1fr}
  .vertical-grid__col:nth-child(2n){border-right:0}
  .vertical-grid__col--media{min-height:52vh}
  .arch-hero__rail{flex-basis:72px;width:72px}
}

@media (max-width:720px){
  .arch-hero{flex-direction:column}
  .arch-hero__rail{
    flex:0 0 auto;
    width:100%;
    flex-direction:row;
    justify-content:space-between;
    padding:calc(var(--nav-h) + 10px) var(--pad) 14px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .arch-hero__brand,
  .arch-hero__count{
    writing-mode:horizontal-tb;
    transform:none;
  }
  .vertical-grid,
  .tall-cards-wrapper{grid-template-columns:1fr}
  .vertical-grid__col{border-right:0;border-bottom:1px solid var(--line-soft)}
  .vertical-grid__col--media{min-height:58vh}
}
