.elementor-2203 .elementor-element.elementor-element-5f084ba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-478bd83 *//* ==========================================================
   ARCHETRA — RISTRUTTURAZIONI
========================================================== */

.arr-page{
  --arr-bg:#070808;
  --arr-bg2:#0a0b0b;

  --arr-text:#f4efe7;
  --arr-muted:rgba(244,239,231,.59);

  --arr-gold:#ddb373;
  --arr-gold-light:#efd09a;

  width:100%;

  color:var(--arr-text);

  background:#070808;

  font-family:
    "Inter",
    Arial,
    sans-serif;
}


.arr-page *,
.arr-page *::before,
.arr-page *::after{
  box-sizing:border-box;
}


.arr-section-inner{
  width:min(1440px,88vw);

  margin:auto;
}



/* ==========================================================
   HERO
========================================================== */

.arr-hero{
  position:relative;

  width:100vw;
  max-width:none;

  min-height:
    max(
      780px,
      100svh
    );

  margin-left:
    calc(50% - 50vw);

  margin-right:
    calc(50% - 50vw);

  overflow:hidden;

  isolation:isolate;

  display:flex;

  align-items:center;

  background:#070808;
}


.arr-hero__world{
  position:absolute;

  inset:0;

  overflow:hidden;

  pointer-events:none;
}


.arr-hero__orb{
  position:absolute;

  border-radius:50%;

  filter:blur(135px);

  mix-blend-mode:screen;
}


.arr-hero__orb--blue{
  width:58vw;
  height:58vw;

  left:-34%;
  top:-25%;

  opacity:.12;

  background:#456d80;
}


.arr-hero__orb--gold{
  width:53vw;
  height:53vw;

  right:-26%;
  bottom:-27%;

  opacity:.18;

  background:#b77a38;
}



/* GRID */

.arr-hero__grid{
  position:absolute;

  inset:0;

  opacity:.05;

  background-image:

    linear-gradient(
      rgba(221,179,115,.25) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(221,179,115,.25) 1px,
      transparent 1px
    );

  background-size:
    84px 84px;

  -webkit-mask-image:

    radial-gradient(
      circle at 73% 50%,
      black,
      transparent 69%
    );

  mask-image:

    radial-gradient(
      circle at 73% 50%,
      black,
      transparent 69%
    );
}



/* LIGHT */

.arr-hero__beam{
  position:absolute;

  top:-28%;
  right:22%;

  width:17%;
  height:150%;

  opacity:.13;

  transform:
    rotate(14deg);

  filter:blur(19px);

  mix-blend-mode:screen;

  background:

    linear-gradient(
      rgba(255,246,222,.31),
      transparent 72%
    );
}



/* NOISE */

.arr-hero__noise{
  position:absolute;

  inset:-30%;

  opacity:.035;

  mix-blend-mode:overlay;

  background-image:

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='arrNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23arrNoise)'/%3E%3C/svg%3E");
}



/* ==========================================================
   HERO INNER
========================================================== */

.arr-hero__inner{
  position:relative;

  z-index:10;

  width:min(1440px,88vw);

  margin:auto;

  display:grid;

  grid-template-columns:
    minmax(0,1.1fr)
    minmax(430px,.9fr);

  gap:
    clamp(
      60px,
      8vw,
      130px
    );

  align-items:center;

  padding:
    130px 0
    120px;
}



/* ==========================================================
   EYEBROWS
========================================================== */

.arr-eyebrow,
.arr-section-eyebrow{
  display:flex;

  align-items:center;

  gap:12px;
}


.arr-eyebrow{
  margin-bottom:26px;
}


.arr-eyebrow i,
.arr-section-eyebrow i{
  width:40px;
  height:1px;

  background:

    linear-gradient(
      90deg,
      var(--arr-gold),
      transparent
    );
}


.arr-eyebrow span{
  color:var(--arr-gold);

  font:
    500 8px/1
    "DM Mono",
    monospace;

  letter-spacing:.18em;
}



/* ==========================================================
   HERO TYPO
========================================================== */

.arr-hero h1{
  margin:0;

  max-width:900px;

  color:var(--arr-text);

  font:
    500
    clamp(
      3.8rem,
      6.5vw,
      7.8rem
    )/.89
    "Manrope",
    sans-serif;

  letter-spacing:-.068em;

  text-wrap:balance;
}


.arr-hero h1 em{
  display:block;

  color:var(--arr-gold-light);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-weight:500;
  font-style:italic;

  letter-spacing:-.045em;
}


.arr-hero__copy > p{
  max-width:590px;

  margin:
    31px 0 0;

  color:var(--arr-muted);

  font-size:
    clamp(
      14px,
      1.1vw,
      17px
    );

  line-height:1.75;
}



/* ==========================================================
   HERO BUTTONS
========================================================== */

.arr-hero__actions{
  display:flex;

  gap:8px;

  margin-top:37px;
}


.arr-btn{
  min-height:54px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:28px;

  padding:
    0 18px;

  text-decoration:none;

  font:
    500 7px/1
    "DM Mono",
    monospace;

  letter-spacing:.12em;

  transition:
    transform .35s ease,
    border-color .35s ease;
}


.arr-btn:hover{
  transform:
    translateY(-3px);
}


.arr-btn i{
  font-style:normal;

  font-size:14px;
}


.arr-btn--gold{
  color:#17130d;

  border:
    1px solid
    rgba(242,213,163,.65);

  background:

    linear-gradient(
      135deg,
      #efd19c,
      #d5a35f
    );
}


.arr-btn--ghost{
  color:
    rgba(255,255,255,.69);

  border:
    1px solid
    rgba(255,255,255,.12);

  background:
    rgba(255,255,255,.025);

  -webkit-backdrop-filter:
    blur(14px);

  backdrop-filter:
    blur(14px);
}



/* ==========================================================
   HERO META
========================================================== */

.arr-hero__meta{
  display:flex;

  align-items:center;

  flex-wrap:wrap;

  gap:10px;

  margin-top:27px;

  color:
    rgba(255,255,255,.27);

  font:
    400 6px/1
    "DM Mono",
    monospace;

  letter-spacing:.14em;
}


.arr-hero__meta i{
  width:3px;
  height:3px;

  border-radius:50%;

  background:
    var(--arr-gold);
}



/* ==========================================================
   ARCHITECTURAL MODEL
========================================================== */

.arr-build{
  position:relative;

  height:
    min(
      670px,
      70vh
    );

  min-height:530px;

  perspective:1500px;

  will-change:transform;
}


.arr-build__scene{
  position:absolute;

  left:10%;
  top:8%;

  width:80%;
  height:78%;

  transform:

    rotateX(57deg)

    rotateZ(-16deg);

  transform-style:preserve-3d;

  will-change:transform;
}



/* FLOOR PLAN */

.arr-plan{
  position:absolute;

  inset:0;

  transform:
    translateZ(10px);

  border:
    1px solid
    rgba(221,179,115,.18);

  background:

    linear-gradient(
      145deg,
      rgba(255,255,255,.025),
      rgba(221,179,115,.015)
    );

  box-shadow:

    0 40px 80px
    rgba(0,0,0,.32),

    inset 0 0 70px
    rgba(221,179,115,.015);
}


.arr-plan__floor{
  position:absolute;

  inset:5%;

  opacity:.08;

  background-image:

    linear-gradient(
      rgba(255,255,255,.25)
      1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(255,255,255,.25)
      1px,
      transparent 1px
    );

  background-size:
    32px 32px;
}



/* WALLS */

.arr-wall{
  position:absolute;

  display:block;

  height:7px;

  background:

    linear-gradient(
      180deg,
      #c3b29a,
      #766451
    );

  box-shadow:
    0 8px 12px
    rgba(0,0,0,.24);
}


.arr-wall.w1{
  left:8%;
  top:12%;

  width:77%;
}


.arr-wall.w2{
  left:8%;
  top:12%;

  width:7px;
  height:68%;
}


.arr-wall.w3{
  left:35%;
  top:12%;

  width:7px;
  height:48%;
}


.arr-wall.w4{
  left:35%;
  top:59%;

  width:44%;
}


.arr-wall.w5{
  right:15%;
  top:12%;

  width:7px;
  height:69%;
}


.arr-wall.w6{
  left:8%;
  bottom:19%;

  width:77%;
}



/* DOORS */

.arr-door{
  position:absolute;

  width:35px;
  height:35px;

  border:
    1px solid
    rgba(221,179,115,.32);

  border-left:0;

  border-bottom:0;

  border-radius:
    0 100% 0 0;
}


.arr-door.d1{
  left:32%;
  top:61%;
}


.arr-door.d2{
  right:14%;
  top:36%;

  transform:
    rotate(90deg);
}



/* NODES */

.arr-node{
  position:absolute;

  width:10px;
  height:10px;

  border-radius:50%;

  background:
    var(--arr-gold-light);

  box-shadow:

    0 0 0 6px
    rgba(221,179,115,.07),

    0 0 20px
    rgba(221,179,115,.42);
}


.arr-node.n1{
  left:19%;
  top:22%;
}


.arr-node.n2{
  right:20%;
  top:26%;
}


.arr-node.n3{
  left:47%;
  bottom:27%;
}



/* EXPLODED LAYERS */

.arr-layer{
  position:absolute;

  inset:0;

  border:
    1px solid
    rgba(221,179,115,.11);

  pointer-events:none;
}


.arr-layer--1{
  transform:
    translateZ(-35px)
    scale(.96);
}


.arr-layer--2{
  transform:
    translateZ(-70px)
    scale(.91);

  opacity:.55;
}


.arr-layer--3{
  transform:
    translateZ(-105px)
    scale(.85);

  opacity:.28;

  border-style:dashed;
}



/* CORE */

.arr-build__core{
  position:absolute;

  left:50%;
  top:50%;

  width:105px;
  height:105px;

  display:flex;

  align-items:center;
  justify-content:center;

  transform:
    translate(-50%,-50%)
    translateZ(80px);

  border:
    1px solid
    rgba(221,179,115,.30);

  border-radius:50%;

  color:
    rgba(239,208,154,.78);

  background:
    rgba(8,9,9,.86);

  box-shadow:

    0 0 40px
    rgba(221,179,115,.12),

    0 0 100px
    rgba(221,179,115,.05);
}


.arr-build__core span{
  font:
    500 45px/1
    "Manrope",
    sans-serif;

  letter-spacing:-.08em;
}



/* AXES */

.arr-axis{
  position:absolute;

  pointer-events:none;

  background:
    rgba(221,179,115,.20);
}


.arr-axis--x{
  left:-10%;
  right:-10%;
  top:50%;

  height:1px;
}


.arr-axis--y{
  top:-10%;
  bottom:-10%;
  left:50%;

  width:1px;
}



/* LABELS */

.arr-build__label{
  position:absolute;

  display:flex;

  align-items:center;

  gap:9px;

  color:
    rgba(255,255,255,.34);

  font:
    400 6px/1
    "DM Mono",
    monospace;

  letter-spacing:.14em;
}


.arr-build__label i{
  width:34px;
  height:1px;

  background:

    linear-gradient(
      90deg,
      var(--arr-gold),
      transparent
    );
}


.arr-build__label--a{
  left:0;
  top:25%;
}


.arr-build__label--b{
  right:-2%;
  top:49%;
}


.arr-build__label--b i{
  background:

    linear-gradient(
      90deg,
      transparent,
      var(--arr-gold)
    );
}


.arr-build__label--c{
  left:6%;
  bottom:17%;
}



/* HERO SCROLL */

.arr-hero__scroll{
  position:absolute;

  z-index:30;

  left:6vw;
  bottom:36px;

  display:flex;

  align-items:center;

  gap:12px;

  color:
    rgba(255,255,255,.30);

  text-decoration:none;

  font:
    400 7px/1
    "DM Mono",
    monospace;

  letter-spacing:.15em;
}


.arr-hero__scroll i{
  color:var(--arr-gold);

  font-style:normal;
}



/* ==========================================================
   SECTION EYEBROW
========================================================== */

.arr-section-eyebrow{
  margin-bottom:27px;

  color:
    rgba(255,255,255,.29);
}


.arr-section-eyebrow > span{
  color:var(--arr-gold);

  font:
    400 7px/1
    "DM Mono",
    monospace;
}


.arr-section-eyebrow strong{
  font:
    400 7px/1
    "DM Mono",
    monospace;

  letter-spacing:.16em;
}



/* ==========================================================
   SCOPE
========================================================== */

.arr-scope{
  padding:
    clamp(
      100px,
      10vw,
      160px
    )
    0;

  background:#0a0b0b;
}


.arr-scope__head{
  display:grid;

  grid-template-columns:
    minmax(0,1.4fr)
    minmax(280px,.55fr);

  gap:
    clamp(
      50px,
      8vw,
      130px
    );

  align-items:end;

  margin-bottom:
    clamp(
      70px,
      8vw,
      120px
    );
}


.arr-scope__head h2,
.arr-process__head h2,
.arr-projects h2,
.arr-cta h2{
  margin:0;

  color:var(--arr-text);

  font:
    500
    clamp(
      3rem,
      5vw,
      6rem
    )/.94
    "Manrope",
    sans-serif;

  letter-spacing:-.06em;
}


.arr-scope__head h2 em,
.arr-process__head h2 em,
.arr-projects h2 em,
.arr-cta h2 em{
  color:var(--arr-gold-light);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-weight:500;

  font-style:italic;
}


.arr-scope__head > p,
.arr-process__head > p{
  margin:0;

  color:var(--arr-muted);

  font-size:14px;

  line-height:1.75;
}



/* CARDS */

.arr-scope__grid{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  border-top:
    1px solid
    rgba(255,255,255,.10);

  border-left:
    1px solid
    rgba(255,255,255,.10);
}


.arr-scope-card{
  min-height:520px;

  padding:26px;

  border-right:
    1px solid
    rgba(255,255,255,.10);

  border-bottom:
    1px solid
    rgba(255,255,255,.10);

  opacity:0;

  transform:
    translateY(28px);

  transition:

    opacity .8s ease,

    transform .9s
    cubic-bezier(.16,1,.3,1),

    background .4s ease;
}


.arr-scope-card.is-visible{
  opacity:1;

  transform:none;
}


.arr-scope-card:hover{
  background:
    rgba(221,179,115,.026);
}


.arr-scope-card__top{
  display:flex;

  justify-content:space-between;

  color:
    rgba(255,255,255,.27);

  font:
    400 7px/1
    "DM Mono",
    monospace;

  letter-spacing:.14em;
}


.arr-scope-card__top span{
  color:var(--arr-gold);
}


.arr-scope-card__visual{
  height:230px;

  display:flex;

  align-items:center;

  justify-content:center;
}


.arr-scope-card h3{
  margin:0 0 14px;

  color:var(--arr-text);

  font:
    500
    clamp(
      1.45rem,
      1.8vw,
      2.1rem
    )/1
    "Manrope",
    sans-serif;

  letter-spacing:-.04em;
}


.arr-scope-card > p{
  margin:0;

  color:var(--arr-muted);

  font-size:13px;

  line-height:1.7;
}



/* SPACE ICON */

.arr-space-icon{
  position:relative;

  width:150px;
  height:150px;

  transform:
    rotateX(58deg)
    rotateZ(-20deg);
}


.arr-space-icon span{
  position:absolute;

  background:

    linear-gradient(
      #c8b89e,
      #765f49
    );

  box-shadow:
    0 5px 10px
    rgba(0,0,0,.25);
}


.arr-space-icon span:nth-child(1){
  left:5%;
  top:10%;

  width:85%;
  height:6px;
}


.arr-space-icon span:nth-child(2){
  left:5%;
  top:10%;

  width:6px;
  height:75%;
}


.arr-space-icon span:nth-child(3){
  left:5%;
  bottom:15%;

  width:85%;
  height:6px;
}


.arr-space-icon i{
  position:absolute;

  background:
    var(--arr-gold);
}


.arr-space-icon i:nth-of-type(1){
  left:45%;
  top:10%;

  width:4px;
  height:50%;
}


.arr-space-icon i:nth-of-type(2){
  left:45%;
  top:57%;

  width:40%;
  height:4px;
}



/* SYSTEM ICON */

.arr-system-icon{
  position:relative;

  width:160px;
  height:160px;
}


.arr-system-icon i{
  position:absolute;

  height:2px;

  background:
    var(--arr-gold);
}


.arr-system-icon i:nth-child(1){
  left:5%;
  top:30%;

  width:75%;
}


.arr-system-icon i:nth-child(2){
  left:35%;
  top:30%;

  width:2px;
  height:55%;
}


.arr-system-icon i:nth-child(3){
  left:35%;
  top:70%;

  width:55%;
}


.arr-system-icon i:nth-child(4){
  right:19%;
  top:15%;

  width:2px;
  height:55%;
}


.arr-system-icon span{
  position:absolute;

  width:10px;
  height:10px;

  border-radius:50%;

  background:
    var(--arr-gold-light);

  box-shadow:
    0 0 15px
    rgba(221,179,115,.6);
}


.arr-system-icon span:first-of-type{
  left:2%;
  top:27%;
}


.arr-system-icon span:last-of-type{
  right:5%;
  bottom:27%;
}



/* FINISH */

.arr-finish-icon{
  position:relative;

  width:150px;
  height:170px;
}


.arr-finish-icon span{
  position:absolute;

  inset:15%;

  border:
    1px solid
    rgba(221,179,115,.28);

  background:

    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(221,179,115,.03)
    );
}


.arr-finish-icon i{
  position:absolute;

  left:8%;

  width:84%;
  height:1px;

  background:
    rgba(221,179,115,.28);
}


.arr-finish-icon i:nth-of-type(1){
  top:25%;
}


.arr-finish-icon i:nth-of-type(2){
  top:50%;
}


.arr-finish-icon i:nth-of-type(3){
  top:75%;
}



/* WINDOW */

.arr-window-icon{
  position:relative;

  width:110px;
  height:170px;

  border:
    5px solid
    rgba(82,69,58,.98);

  background:

    linear-gradient(
      135deg,
      rgba(210,234,240,.20),
      rgba(77,120,136,.12),
      rgba(221,170,91,.18)
    );
}


.arr-window-icon span{
  position:absolute;

  inset:-16px;

  border:
    1px solid
    rgba(221,179,115,.15);
}


.arr-window-icon i{
  position:absolute;

  background:
    rgba(75,62,52,.98);
}


.arr-window-icon i:first-of-type{
  left:50%;

  width:4px;
  height:100%;
}


.arr-window-icon i:last-of-type{
  top:50%;

  width:100%;
  height:4px;
}



/* ==========================================================
   MANIFESTO
========================================================== */

.arr-manifesto{
  position:relative;

  overflow:hidden;

  padding:
    clamp(
      125px,
      13vw,
      220px
    )
    0;

  background:#070808;
}


.arr-manifesto__architecture{
  position:absolute;

  inset:0;

  opacity:.055;

  pointer-events:none;
}


.arr-manifesto__architecture span{
  position:absolute;

  display:block;

  border:
    1px solid
    rgba(221,179,115,.35);
}


.arr-manifesto__architecture span:nth-child(1){
  width:30vw;
  height:55vw;

  right:3%;
  top:3%;

  transform:rotate(8deg);
}


.arr-manifesto__architecture span:nth-child(2){
  width:23vw;
  height:45vw;

  right:10%;
  top:11%;

  transform:rotate(8deg);
}


.arr-manifesto__architecture span:nth-child(3){
  width:16vw;
  height:36vw;

  right:17%;
  top:18%;

  transform:rotate(8deg);
}


.arr-manifesto__architecture span:nth-child(4){
  width:1px;
  height:100%;

  right:35%;
  top:0;
}


.arr-manifesto__label{
  display:block;

  margin-bottom:34px;

  color:var(--arr-gold);

  font:
    500 8px/1
    "DM Mono",
    monospace;

  letter-spacing:.17em;
}


.arr-manifesto h2{
  position:relative;

  max-width:1250px;

  margin:0;

  color:
    rgba(244,239,231,.38);

  font:
    500
    clamp(
      4rem,
      7.6vw,
      8.7rem
    )/.89
    "Manrope",
    sans-serif;

  letter-spacing:-.07em;
}


.arr-manifesto h2 em{
  display:block;

  color:var(--arr-text);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-style:italic;

  font-weight:500;
}


.arr-manifesto__copy{
  display:grid;

  grid-template-columns:
    repeat(2,1fr);

  gap:50px;

  width:min(720px,60vw);

  margin:
    65px 0 0 auto;
}


.arr-manifesto__copy p{
  margin:0;

  color:var(--arr-muted);

  font-size:13px;

  line-height:1.75;
}



/* ==========================================================
   PROCESS
========================================================== */

.arr-process{
  padding:
    clamp(
      100px,
      10vw,
      160px
    )
    0;

  background:#0a0b0b;
}


.arr-process__head{
  display:grid;

  grid-template-columns:
    1.3fr .5fr;

  gap:80px;

  align-items:end;
}


.arr-process__timeline{
  position:relative;

  display:grid;

  grid-template-columns:
    repeat(6,1fr);

  margin-top:
    clamp(
      75px,
      8vw,
      120px
    );

  padding-top:29px;
}


.arr-process__progress{
  position:absolute;

  left:0;
  right:0;
  top:0;

  height:1px;

  overflow:hidden;

  background:
    rgba(255,255,255,.11);
}


.arr-process__progress i{
  display:block;

  width:0;
  height:100%;

  background:

    linear-gradient(
      90deg,
      #855c31,
      #ddb373,
      #efd09a
    );
}


.arr-process-step{
  position:relative;

  padding-right:24px;

  opacity:.25;

  transform:
    translateY(20px);

  transition:
    opacity .75s ease,
    transform .8s ease;
}


.arr-process-step.is-visible{
  opacity:1;

  transform:none;
}


.arr-process-step::before{
  content:"";

  position:absolute;

  left:0;
  top:-33px;

  width:7px;
  height:7px;

  border-radius:50%;

  background:
    var(--arr-gold);

  box-shadow:
    0 0 0 5px
    rgba(221,179,115,.06);
}


.arr-process-step > span{
  color:var(--arr-gold);

  font:
    400 7px/1
    "DM Mono",
    monospace;
}


.arr-process-step strong{
  display:block;

  margin-top:15px;

  color:var(--arr-text);

  font:
    500
    clamp(
      1rem,
      1.3vw,
      1.45rem
    )/1.05
    "Manrope",
    sans-serif;

  letter-spacing:-.03em;
}


.arr-process-step p{
  margin:
    12px 0 0;

  color:var(--arr-muted);

  font-size:12px;

  line-height:1.65;
}



/* ==========================================================
   PROJECT TYPES
========================================================== */

.arr-projects{
  padding:
    clamp(
      100px,
      10vw,
      165px
    )
    0;

  background:#070808;
}


.arr-projects__layout{
  display:grid;

  grid-template-columns:
    .85fr 1.15fr;

  gap:
    clamp(
      70px,
      10vw,
      160px
    );
}


.arr-projects__title{
  position:sticky;

  top:110px;

  align-self:start;
}


.arr-projects__title > p{
  max-width:480px;

  margin:
    27px 0 0;

  color:var(--arr-muted);

  font-size:13px;

  line-height:1.75;
}


.arr-projects__list{
  border-top:
    1px solid
    rgba(255,255,255,.10);
}


.arr-project-row{
  display:grid;

  grid-template-columns:
    40px 1fr 42px;

  gap:20px;

  align-items:start;

  padding:
    36px 0;

  border-bottom:
    1px solid
    rgba(255,255,255,.10);

  opacity:.25;

  transform:
    translateY(18px);

  transition:

    opacity .7s ease,

    transform .8s ease,

    background .4s ease;
}


.arr-project-row.is-visible{
  opacity:1;

  transform:none;
}


.arr-project-row:hover{
  background:

    linear-gradient(
      90deg,
      rgba(221,179,115,.026),
      transparent
    );
}


.arr-project-row > span{
  color:var(--arr-gold);

  font:
    400 7px/1
    "DM Mono",
    monospace;
}


.arr-project-row h3{
  margin:0;

  color:var(--arr-text);

  font:
    500
    clamp(
      1.5rem,
      2vw,
      2.2rem
    )/1
    "Manrope",
    sans-serif;

  letter-spacing:-.04em;
}


.arr-project-row p{
  max-width:520px;

  margin:
    12px 0 0;

  color:var(--arr-muted);

  font-size:13px;

  line-height:1.7;
}


.arr-project-row > i{
  color:var(--arr-gold);

  font-style:normal;

  font-size:14px;
}



/* ==========================================================
   CONNECTION
========================================================== */

.arr-connect{
  position:relative;

  overflow:hidden;

  padding:
    clamp(
      110px,
      11vw,
      180px
    )
    0;

  background:#0a0b0b;
}


.arr-connect__header{
  max-width:1050px;

  margin-bottom:
    clamp(
      60px,
      7vw,
      100px
    );
}


.arr-connect__header > span{
  display:block;

  margin-bottom:25px;

  color:var(--arr-gold);

  font:
    500 8px/1
    "DM Mono",
    monospace;

  letter-spacing:.17em;
}


.arr-connect__header h2{
  margin:0;

  color:
    rgba(244,239,231,.42);

  font:
    500
    clamp(
      3.3rem,
      6vw,
      7rem
    )/.91
    "Manrope",
    sans-serif;

  letter-spacing:-.065em;
}


.arr-connect__header h2 em{
  display:block;

  color:var(--arr-text);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-weight:500;

  font-style:italic;
}



/* DIAGRAM */

.arr-connect__diagram{
  display:grid;

  grid-template-columns:
    auto 1fr auto 1fr auto;

  align-items:center;

  gap:25px;
}


.arr-connect-node{
  width:
    clamp(
      150px,
      15vw,
      220px
    );

  aspect-ratio:1;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:12px;

  border:
    1px solid
    rgba(221,179,115,.18);

  border-radius:50%;

  background:

    radial-gradient(
      circle,
      rgba(221,179,115,.055),
      transparent 68%
    );
}


.arr-connect-node span{
  color:var(--arr-gold);

  font:
    400 7px/1
    "DM Mono",
    monospace;
}


.arr-connect-node strong{
  color:
    rgba(255,255,255,.70);

  font:
    500
    clamp(
      8px,
      .8vw,
      11px
    )/1
    "DM Mono",
    monospace;

  letter-spacing:.10em;
}


.arr-connect-line{
  position:relative;

  height:1px;

  overflow:hidden;

  background:
    rgba(255,255,255,.10);
}


.arr-connect-line i{
  position:absolute;

  left:0;
  top:0;

  width:45%;
  height:100%;

  background:

    linear-gradient(
      90deg,
      transparent,
      var(--arr-gold),
      transparent
    );

  animation:
    arrConnection
    3.5s ease-in-out
    infinite;
}


@keyframes arrConnection{

  from{
    transform:
      translateX(-120%);
  }

  to{
    transform:
      translateX(330%);
  }

}



/* ==========================================================
   CTA
========================================================== */

.arr-cta{
  position:relative;

  overflow:hidden;

  padding:
    clamp(
      115px,
      12vw,
      190px
    )
    0;

  background:#070808;
}


.arr-cta__shape{
  position:absolute;

  right:4%;
  top:50%;

  width:440px;
  height:440px;

  transform:
    translateY(-50%)
    rotateX(58deg)
    rotateZ(-19deg);

  opacity:.30;
}


.arr-cta__shape div{
  position:absolute;

  border:
    1px solid
    rgba(221,179,115,.22);
}


.arr-cta__shape div:nth-child(1){
  inset:0;
}


.arr-cta__shape div:nth-child(2){
  inset:14%;
}


.arr-cta__shape div:nth-child(3){
  inset:28%;

  background:
    rgba(221,179,115,.06);

  box-shadow:
    0 0 60px
    rgba(221,179,115,.12);
}


.arr-cta__content{
  position:relative;

  z-index:5;

  max-width:1000px;
}


.arr-cta__content > span{
  display:block;

  margin-bottom:25px;

  color:var(--arr-gold);

  font:
    500 8px/1
    "DM Mono",
    monospace;

  letter-spacing:.17em;
}


.arr-cta__content > p{
  max-width:550px;

  margin:
    27px 0 0;

  color:var(--arr-muted);

  font-size:14px;

  line-height:1.75;
}


.arr-cta__phones{
  display:flex;

  gap:9px;

  margin-top:40px;
}


.arr-phone{
  min-width:250px;

  display:grid;

  grid-template-columns:
    1fr auto;

  gap:7px 20px;

  padding:
    17px 19px;

  color:
    rgba(255,255,255,.70);

  text-decoration:none;

  border:
    1px solid
    rgba(255,255,255,.12);

  background:
    rgba(255,255,255,.025);
}


.arr-phone--gold{
  color:#17130d;

  border-color:
    rgba(242,213,163,.65);

  background:

    linear-gradient(
      135deg,
      #efd19c,
      #d5a35f
    );
}


.arr-phone small{
  font:
    400 6px/1
    "DM Mono",
    monospace;

  letter-spacing:.14em;
}


.arr-phone strong{
  grid-row:2;

  font:
    500 15px/1
    "Manrope",
    sans-serif;
}


.arr-phone i{
  grid-column:2;
  grid-row:1 / 3;

  align-self:center;

  font-style:normal;
}



/* ==========================================================
   FAQ
========================================================== */

.arr-faq{
  padding:
    clamp(
      100px,
      10vw,
      150px
    )
    0;

  background:#0a0b0b;
}


.arr-faq__layout{
  display:grid;

  grid-template-columns:
    .65fr 1.35fr;

  gap:
    clamp(
      60px,
      9vw,
      145px
    );
}


.arr-faq header h2{
  margin:0;

  color:var(--arr-text);

  font:
    500
    clamp(
      2.8rem,
      4.4vw,
      5.3rem
    )/.93
    "Manrope",
    sans-serif;

  letter-spacing:-.055em;
}


.arr-faq header h2 em{
  display:block;

  color:var(--arr-gold-light);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-style:italic;

  font-weight:500;
}


.arr-faq__list{
  border-top:
    1px solid
    rgba(255,255,255,.11);
}


.arr-faq details{
  border-bottom:
    1px solid
    rgba(255,255,255,.11);
}


.arr-faq summary{
  display:grid;

  grid-template-columns:
    36px 1fr 38px;

  gap:16px;

  align-items:center;

  min-height:100px;

  padding:
    20px 0;

  list-style:none;

  cursor:pointer;
}


.arr-faq summary::-webkit-details-marker{
  display:none;
}


.arr-faq summary > span{
  color:var(--arr-gold);

  font:
    400 7px/1
    "DM Mono",
    monospace;
}


.arr-faq summary strong{
  color:
    rgba(255,255,255,.78);

  font:
    500
    clamp(
      1.05rem,
      1.5vw,
      1.6rem
    )/1.2
    "Manrope",
    sans-serif;

  letter-spacing:-.03em;
}


.arr-faq summary i{
  position:relative;

  width:36px;
  height:36px;

  border:
    1px solid
    rgba(255,255,255,.11);

  border-radius:50%;
}


.arr-faq summary i::before,
.arr-faq summary i::after{
  content:"";

  position:absolute;

  left:50%;
  top:50%;

  width:10px;
  height:1px;

  background:
    var(--arr-gold);

  transform:
    translate(-50%,-50%);
}


.arr-faq summary i::after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


.arr-faq details[open]
summary i::after{
  transform:
    translate(-50%,-50%)
    rotate(0);
}


.arr-faq details > p{
  margin:0;

  padding:
    0 50px
    30px 52px;

  color:var(--arr-muted);

  font-size:13px;

  line-height:1.75;
}



/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1100px){

  .arr-scope__grid{
    grid-template-columns:
      repeat(2,1fr);
  }


  .arr-process__timeline{
    grid-template-columns:
      repeat(3,1fr);

    gap:
      50px 25px;
  }


  .arr-process__progress{
    display:none;
  }

}



@media(max-width:1000px){

  .arr-hero__inner{
    grid-template-columns:
      1fr .8fr;

    gap:40px;
  }


  .arr-connect__diagram{
    gap:15px;
  }

}



/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:760px){

  .arr-hero{
    min-height:auto;
  }


  .arr-hero__inner{
    width:86vw;

    display:flex;

    flex-direction:column;

    gap:50px;

    padding:
      105px 0
      95px;
  }


  .arr-hero__copy{
    text-align:center;
  }


  .arr-eyebrow{
    justify-content:center;
  }


  .arr-hero h1{
    font-size:
      clamp(
        3rem,
        13vw,
        4.8rem
      );

    line-height:.91;
  }


  .arr-hero__copy > p{
    margin:
      24px auto 0;

    font-size:13px;
  }


  .arr-hero__actions{
    flex-direction:column;
  }


  .arr-btn{
    width:100%;
  }


  .arr-hero__meta{
    justify-content:center;
  }


  .arr-build{
    width:100%;

    height:430px;

    min-height:430px;
  }


  .arr-build__scene{
    left:10%;
    top:10%;

    width:80%;
    height:72%;
  }


  .arr-build__label{
    display:none;
  }


  .arr-hero__scroll{
    display:none;
  }



  /* COMMON */

  .arr-section-inner{
    width:86vw;
  }


  .arr-scope__head,
  .arr-process__head{
    display:block;
  }


  .arr-scope__head h2,
  .arr-process__head h2,
  .arr-projects h2,
  .arr-cta h2{
    font-size:
      clamp(
        2.7rem,
        11vw,
        4.2rem
      );

    line-height:.94;
  }


  .arr-scope__head > p,
  .arr-process__head > p{
    margin-top:25px;
  }



  /* SCOPE */

  .arr-scope__grid{
    grid-template-columns:1fr;
  }


  .arr-scope-card{
    min-height:auto;

    padding:23px;
  }


  .arr-scope-card__visual{
    height:210px;
  }



  /* MANIFESTO */

  .arr-manifesto{
    padding:
      100px 0;
  }


  .arr-manifesto h2{
    font-size:
      clamp(
        3.15rem,
        13.5vw,
        5rem
      );

    line-height:.91;
  }


  .arr-manifesto__copy{
    width:100%;

    grid-template-columns:1fr;

    gap:16px;

    margin-top:45px;
  }



  /* PROCESS */

  .arr-process__timeline{
    grid-template-columns:
      repeat(2,1fr);

    gap:
      42px 20px;
  }


  .arr-process-step{
    padding-top:17px;

    border-top:
      1px solid
      rgba(255,255,255,.10);
  }


  .arr-process-step::before{
    top:-4px;
  }



  /* PROJECTS */

  .arr-projects__layout{
    grid-template-columns:1fr;

    gap:60px;
  }


  .arr-projects__title{
    position:relative;

    top:auto;
  }


  .arr-project-row{
    grid-template-columns:
      30px 1fr 24px;

    gap:12px;
  }



  /* CONNECT */

  .arr-connect__diagram{
    display:flex;

    flex-direction:column;

    gap:18px;
  }


  .arr-connect-node{
    width:180px;
  }


  .arr-connect-line{
    width:1px;
    height:55px;
  }


  .arr-connect-line i{
    width:100%;
    height:45%;

    background:

      linear-gradient(
        180deg,
        transparent,
        var(--arr-gold),
        transparent
      );

    animation:
      arrConnectionMobile
      3s linear
      infinite;
  }


  @keyframes arrConnectionMobile{

    from{
      transform:
        translateY(-120%);
    }

    to{
      transform:
        translateY(330%);
    }

  }



  /* CTA */

  .arr-cta__shape{
    opacity:.12;

    right:-55%;
  }


  .arr-cta__phones{
    flex-direction:column;
  }


  .arr-phone{
    width:100%;

    min-width:0;
  }



  /* FAQ */

  .arr-faq__layout{
    grid-template-columns:1fr;

    gap:50px;
  }


  .arr-faq summary{
    grid-template-columns:
      28px 1fr 35px;

    gap:10px;

    min-height:90px;
  }


  .arr-faq details > p{
    padding:
      0 0
      27px 38px;
  }

}



/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

  [data-arr-reveal]{
    opacity:1 !important;

    transform:none !important;

    transition:none !important;
  }


  .arr-connect-line i{
    animation:none !important;
  }

}/* End custom CSS */