/* ---------- Tokens ---------- */
:root{
  --deep:        #06282a;
  --water:       #0f4c4a;
  --water-2:     #1c7d76;
  --aqua:        #6fc3b8;
  --mist:        #f3f7f5;
  --sand:        #ece4d6;
  --ink:         #0d1f1c;
  --ink-soft:    #4c605b;
  --gold:        #b6935f;
  --white:       #ffffff;

  --font-display: 'Fraunces', serif;
  --font-body: 'Manrope', sans-serif;

  --container: 1180px;
  --gap: clamp(1.5rem, 4vw, 3rem);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--deep);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

/* Fixed full-page photo backdrop — stays put while every section scrolls over it */
.bg-fixed{
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(6,40,42,0.25), rgba(6,40,42,0.4)),
    url('../assets/hero-jacuzzi.jpg') center 30% / cover no-repeat;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:500; margin:0; }
p{ margin:0; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.9rem 1.9rem;
  border-radius:999px;
  font-size:0.95rem;
  letter-spacing:0.02em;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .35s ease, background .35s ease, color .35s ease, border-color .35s ease;
}
.btn--primary{
  background:var(--gold);
  color:var(--deep);
}
.btn--primary:hover{ transform:translateY(-2px); background:#c6a473; }
.btn--ghost{
  border-color:rgba(255,255,255,0.55);
  color:var(--white);
  background:transparent;
}
.btn--ghost:hover{ background:rgba(255,255,255,0.12); }

.link-arrow{
  display:inline-block;
  font-size:0.9rem;
  color:var(--water-2);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, color .3s ease;
}
.link-arrow:hover{ border-color:var(--water-2); }

/* ---------- Nav ---------- */
.nav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.6rem clamp(1.25rem, 4vw, 3.5rem);
  color:var(--white);
  background:transparent;
  backdrop-filter:none;
  transition:background .4s ease, box-shadow .4s ease, color .4s ease;
}
.nav--scrolled{
  background:rgba(243,247,245,0.88);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 30px -20px rgba(6,40,42,0.4);
  color:var(--ink);
  padding-top:1.1rem;
  padding-bottom:1.1rem;
}
.nav__logo{
  font-family:var(--font-display);
  font-size:1.35rem;
  letter-spacing:0.04em;
}
.nav__links{
  display:flex;
  gap:2.2rem;
  font-size:0.92rem;
}
.nav__links a{ opacity:0.9; transition:opacity .3s; }
.nav__links a:hover{ opacity:1; }
.nav__link-btn{
  background:none;
  border:none;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  opacity:0.9;
  transition:opacity .3s;
}
.nav__link-btn:hover{ opacity:1; }
.nav__lang{
  padding:0.25rem 0.6rem;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:0.78rem;
  letter-spacing:0.04em;
}
.nav__cta{ padding:0.65rem 1.5rem; font-size:0.85rem; }
.nav--scrolled .nav__cta.btn--ghost{
  border-color:var(--water-2);
  color:var(--water-2);
}
.nav--scrolled .nav__cta.btn--ghost:hover{ background:rgba(28,125,118,0.1); }

.nav__burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:38px;
  height:38px;
  border:none;
  background:none;
  color:inherit;
  cursor:pointer;
  padding:0;
}
.nav__burger span{
  display:block;
  width:22px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .3s ease, opacity .3s ease;
}
.nav--menu-open .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav--menu-open .nav__burger span:nth-child(2){ opacity:0; }
.nav--menu-open .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:720px){
  .nav__burger{ display:flex; }
  .nav__links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:1.4rem;
    padding:1.6rem clamp(1.25rem, 4vw, 3.5rem) 2rem;
    background:rgba(6,40,42,0.96);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .nav--scrolled .nav__links{ background:rgba(243,247,245,0.98); }
  .nav--menu-open .nav__links{ display:flex; }
  .nav__lang{ align-self:flex-start; }
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  height:100svh;
  min-height:560px;
  width:100%;
  overflow:hidden;
}
.hero__canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.hero__vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at center, rgba(2,15,14,0.15) 30%, rgba(2,15,14,0.6) 100%),
    linear-gradient(180deg, rgba(3,20,19,0.55) 0%, rgba(3,20,19,0.15) 28%, rgba(3,20,19,0.25) 68%, rgba(3,20,19,0.75) 100%);
  pointer-events:none;
}
.hero__content{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 1.5rem;
  color:var(--white);
}
.hero__eyebrow{
  font-size:0.8rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.75;
  margin-bottom:1.1rem;
}
.hero__title{
  font-size:clamp(3.2rem, 10vw, 7rem);
  line-height:0.95;
  letter-spacing:0.01em;
  text-shadow:0 8px 40px rgba(0,0,0,0.25);
}
.hero__tagline{
  margin-top:1.3rem;
  font-size:clamp(1rem, 1.6vw, 1.25rem);
  font-weight:300;
  opacity:0.92;
  max-width:32ch;
}
.hero__cta{ margin-top:2.6rem; }

.hero__scroll{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  width:1px;
  height:52px;
  background:rgba(255,255,255,0.25);
  z-index:2;
  overflow:hidden;
}
.hero__scroll span{
  position:absolute;
  top:-52px;
  left:0;
  width:100%;
  height:100%;
  background:var(--white);
  animation:scrollLine 2.6s ease-in-out infinite;
}
@keyframes scrollLine{
  0%{ top:-52px; }
  60%{ top:52px; }
  100%{ top:52px; }
}

.sound-toggle{
  position:absolute;
  right:clamp(1.25rem, 4vw, 3rem);
  bottom:2.2rem;
  z-index:3;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(6px);
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .3s ease, border-color .3s ease;
}
.sound-toggle:hover{ background:rgba(255,255,255,0.18); }
.sound-toggle .icon{ width:20px; height:20px; }
.sound-toggle .icon--on{ display:none; }
.sound-toggle[aria-pressed="true"] .icon--muted{ display:none; }
.sound-toggle[aria-pressed="true"] .icon--on{ display:block; }

/* ---------- Reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
}
.reveal.is-visible{ opacity:1; transform:none; }

/* ---------- Statement ---------- */
.statement{
  max-width:900px;
  margin:0 auto;
  padding:clamp(5rem,10vw,8rem) 1.5rem;
  text-align:center;
}
.statement p{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(1.4rem, 3vw, 2.1rem);
  line-height:1.5;
  color:var(--white);
  text-shadow:0 4px 24px rgba(3,20,19,0.5);
}

/* ---------- Finder CTA ---------- */
.finder-cta{
  padding:0 1.5rem clamp(4rem,8vw,6rem);
  text-align:center;
}
.finder-cta__inner{ max-width:560px; margin:0 auto; }
.finder-cta .section-head__title{ color:var(--white); text-shadow:0 4px 24px rgba(3,20,19,0.5); }
.finder-cta .section-head__eyebrow{ color:var(--gold); }
.finder-cta__lead{
  color:rgba(255,255,255,0.85);
  margin:0.8rem 0 1.8rem;
  text-shadow:0 2px 16px rgba(3,20,19,0.5);
}

/* ---------- Section head ---------- */
.section-head{
  max-width:var(--container);
  margin:0 auto;
  padding:0 clamp(1.25rem,4vw,3.5rem);
  text-align:center;
  margin-bottom:clamp(2.5rem,6vw,4rem);
}
.section-head__eyebrow{
  font-size:0.78rem;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.9rem;
}
.section-head__title{
  font-size:clamp(2rem, 4vw, 3rem);
  color:var(--deep);
}

/* ---------- Collections ---------- */
.collections{
  padding:clamp(4rem,8vw,7rem) 0;
  background:rgba(243,247,245,0.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.collection-grid{
  max-width:var(--container);
  margin:0 auto;
  padding:0 clamp(1.25rem,4vw,3.5rem);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:var(--gap);
}
.collection-card{
  background:var(--white);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 50px -30px rgba(6,40,42,0.35);
  transition:transform .5s ease, box-shadow .5s ease;
  display:flex;
  flex-direction:column;
}
.collection-card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -28px rgba(6,40,42,0.4); }
.collection-card--featured{ border:1px solid var(--gold); }

.collection-card__media{
  aspect-ratio:4/3;
  width:100%;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.35), transparent 55%),
    linear-gradient(155deg, var(--water-2), var(--water) 60%, var(--deep));
}
.collection-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.collection-card:hover .collection-card__media img{ transform:scale(1.04); }
.collection-card__media[data-placeholder]::after{
  content:"◌";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.6rem;
  color:rgba(255,255,255,0.55);
  font-family:var(--font-display);
}

/* ---------- 3D viewer badge + modal ---------- */
.view3d-badge{
  position:absolute;
  top:0.9rem;
  right:0.9rem;
  z-index:2;
  padding:0.5rem 0.9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.5);
  background:rgba(6,40,42,0.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--white);
  font-family:var(--font-body);
  font-size:0.78rem;
  letter-spacing:0.02em;
  cursor:pointer;
  transition:background .3s ease, transform .3s ease;
}
.view3d-badge:hover{ background:rgba(6,40,42,0.85); transform:translateY(-1px); }

.viewer-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem,4vw,3rem);
}
.viewer-modal[hidden]{ display:none; }
.viewer-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,20,19,0.82);
  backdrop-filter:blur(4px);
}
.viewer-modal__panel{
  position:relative;
  width:min(640px, 100%);
  max-height:85vh;
  background:var(--deep);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(0,0,0,0.6);
  transition:width .35s ease;
}
.viewer-modal__panel--viewer{
  width:min(1000px, 100%);
  aspect-ratio:16/10;
}
.viewer-modal__frame, .viewer-modal__frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.viewer-modal__close{
  position:absolute;
  top:0.9rem;
  right:0.9rem;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.4);
  background:rgba(6,40,42,0.6);
  color:var(--white);
  cursor:pointer;
  font-size:0.9rem;
}
.viewer-modal__close:hover{ background:rgba(6,40,42,0.9); }

/* ---------- Model picker ---------- */
.model-picker{
  padding:2.2rem clamp(1.5rem,4vw,2.6rem) 2.4rem;
  max-height:85vh;
  overflow-y:auto;
}
.model-picker[hidden]{ display:none; }
.model-picker__title{
  color:var(--white);
  font-size:1.4rem;
  margin-bottom:1.4rem;
  padding-right:2rem;
}
.model-picker__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));
  gap:0.7rem;
}
.model-picker__grid button{
  padding:0.8rem 0.5rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.06);
  color:var(--white);
  font-family:var(--font-body);
  font-size:0.92rem;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.model-picker__grid button:hover{
  background:var(--gold);
  color:var(--deep);
  border-color:var(--gold);
  transform:translateY(-2px);
}

/* ---------- Spa finder ---------- */
.viewer-modal__panel--finder{
  width:min(600px, 100%);
  max-height:85vh;
  overflow-y:auto;
}
.finder-step{ padding:2.2rem clamp(1.5rem,4vw,2.6rem) 2.4rem; }
.finder-step__label{
  font-size:0.78rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.7rem;
}
.finder-step__question{
  color:var(--white);
  font-family:var(--font-display);
  font-size:clamp(1.3rem,3vw,1.6rem);
  margin-bottom:1.6rem;
  padding-right:1.5rem;
}
.finder-options{ display:flex; flex-direction:column; gap:0.7rem; }
.finder-options button{
  text-align:left;
  padding:1rem 1.2rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.06);
  color:var(--white);
  font-family:var(--font-body);
  font-size:0.98rem;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.finder-options button:hover{
  background:var(--gold);
  color:var(--deep);
  border-color:var(--gold);
  transform:translateX(4px);
}
.finder-back{
  display:inline-block;
  margin-top:1.6rem;
  background:none;
  border:none;
  color:rgba(255,255,255,0.55);
  font-family:var(--font-body);
  font-size:0.85rem;
  cursor:pointer;
  padding:0;
}
.finder-back:hover{ color:var(--white); }

.finder-result__title{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,4vw,2.2rem);
  color:var(--white);
  margin-bottom:0.9rem;
}
.finder-result__desc{
  color:rgba(255,255,255,0.8);
  line-height:1.65;
  margin-bottom:1.8rem;
}
.finder-result__actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem;
}
.finder-restart{
  display:block;
  margin-top:1.6rem;
  background:none;
  border:none;
  color:rgba(255,255,255,0.55);
  font-family:var(--font-body);
  font-size:0.85rem;
  cursor:pointer;
  padding:0;
}
.finder-restart:hover{ color:var(--white); }

.model-viewer[hidden]{ display:none; }
.model-viewer{ position:relative; width:100%; height:100%; }
.model-viewer__back{
  position:absolute;
  top:0.9rem;
  left:0.9rem;
  z-index:2;
  padding:0.5rem 0.9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.4);
  background:rgba(6,40,42,0.6);
  color:var(--white);
  font-family:var(--font-body);
  font-size:0.8rem;
  cursor:pointer;
}
.model-viewer__back:hover{ background:rgba(6,40,42,0.9); }

.collection-card__body{
  padding:1.8rem 1.7rem 2rem;
  display:flex;
  flex-direction:column;
  gap:0.9rem;
  flex:1;
}
.collection-card__body h3{ font-size:1.4rem; color:var(--deep); }
.collection-card__desc{ color:var(--ink-soft); font-size:0.94rem; line-height:1.55; }
.collection-card__specs{ display:flex; flex-direction:column; gap:0.35rem; font-size:0.85rem; color:var(--ink-soft); }
.collection-card__specs li::before{ content:"— "; color:var(--gold); }
.collection-card__body .link-arrow{ margin-top:0.4rem; }
.collection-card__soon{
  font-size:0.8rem;
  color:var(--gold);
  font-style:italic;
}

.viewer-modal__frame video{
  width:100%;
  height:100%;
  background:#000;
  object-fit:contain;
}

/* ---------- Feature ---------- */
.feature{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  min-height:70vh;
  background:rgba(6,40,42,0.8);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:var(--white);
}
.feature__media{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 30%, rgba(255,255,255,0.18), transparent 55%),
    linear-gradient(160deg, var(--water-2), var(--deep));
  min-height:340px;
}
.feature__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.feature__body{
  padding:clamp(2.5rem,6vw,5rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:1.1rem;
}
.feature__title{ font-size:clamp(2.5rem,5vw,4rem); }
.feature__desc{ color:rgba(255,255,255,0.78); max-width:46ch; line-height:1.6; }
.feature__specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem 2rem;
  margin:1rem 0 0.6rem;
}
.feature__specs li{ font-size:0.85rem; color:rgba(255,255,255,0.65); }
.feature__specs li span{ display:block; font-family:var(--font-display); font-size:1.15rem; color:var(--white); margin-bottom:0.2rem; }
.feature .btn--primary{ width:fit-content; }

@media (max-width:860px){
  .feature{ grid-template-columns:1fr; }
  .feature__media{ min-height:240px; }
}

/* ---------- About ---------- */
.about{
  padding:clamp(5rem,9vw,8rem) 0;
  background:rgba(236,228,214,0.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.about__inner{
  max-width:900px;
  margin:0 auto;
  padding:0 clamp(1.25rem,4vw,3.5rem);
  text-align:center;
}
.about__text{
  margin-top:1.4rem;
  color:var(--ink-soft);
  font-size:1.05rem;
  line-height:1.75;
  max-width:64ch;
  margin-left:auto;
  margin-right:auto;
}
.about__pillars{
  margin-top:3rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:1.8rem;
  text-align:left;
}
.about-pillar{
  background:var(--white);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 45px -28px rgba(6,40,42,0.35);
}
.about-pillar__media{
  aspect-ratio:4/3;
  width:100%;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.35), transparent 55%),
    linear-gradient(155deg, var(--water-2), var(--water) 60%, var(--deep));
}
.about-pillar__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.about-pillar__media[data-placeholder]::after{
  content:"◌";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.2rem;
  color:rgba(255,255,255,0.55);
  font-family:var(--font-display);
}
.about-pillar__body{ padding:1.3rem 1.4rem 1.6rem; }
.about-pillar h4{ color:var(--deep); font-size:1.1rem; margin-bottom:0.4rem; }
.about-pillar p{ color:var(--ink-soft); font-size:0.92rem; line-height:1.5; }

/* ---------- Contact ---------- */
.contact{
  padding:clamp(5rem,9vw,8rem) 0;
  background:rgba(243,247,245,0.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.contact__inner{
  max-width:700px;
  margin:0 auto;
  padding:0 clamp(1.25rem,4vw,3.5rem);
  text-align:center;
}
.contact__lead{ color:var(--ink-soft); margin-top:1rem; }

.quote-form{
  margin-top:2.6rem;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.quote-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.quote-form label{ display:flex; flex-direction:column; gap:0.5rem; font-size:0.85rem; color:var(--ink-soft); }
.quote-form input, .quote-form select, .quote-form textarea{
  font-family:var(--font-body);
  font-size:0.98rem;
  padding:0.85rem 1rem;
  border-radius:10px;
  border:1px solid #d9ddd7;
  background:var(--white);
  color:var(--ink);
  outline:none;
  transition:border-color .3s;
}
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus{ border-color:var(--water-2); }
.quote-form__full{ display:flex; flex-direction:column; gap:0.5rem; font-size:0.85rem; color:var(--ink-soft); }
.quote-form button{ align-self:flex-start; margin-top:0.4rem; }
.quote-form__note{ font-size:0.88rem; color:var(--water-2); min-height:1.2em; }
.quote-form__honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width:600px){
  .quote-form__row{ grid-template-columns:1fr; }
}

/* ---------- Footer ---------- */
.footer{
  background:rgba(6,40,42,0.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:rgba(255,255,255,0.7);
  text-align:center;
  padding:3.5rem 1.5rem 2.5rem;
}
.footer__logo{ font-family:var(--font-display); font-size:1.3rem; color:var(--white); }
.footer__tag{ margin-top:0.5rem; font-size:0.85rem; }
.footer__contact{ margin-top:0.9rem; font-size:0.85rem; }
.footer__contact a{ border-bottom:1px solid rgba(255,255,255,0.35); transition:border-color .3s; }
.footer__contact a:hover{ border-color:rgba(255,255,255,0.9); }
.footer__copy{ margin-top:1.6rem; font-size:0.78rem; opacity:0.6; }
