/* Shared interaction and accessibility polish, loaded after page styles. */
.real-photo{background:#fff}
.crop.real-photo>img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
.product-photo img{object-position:60% center!important}
.photo-vilnius img{object-position:65% center!important}
.photo-weaving img{object-position:center!important}
.hero:has(.real-photo),.collection-hero:has(.real-photo),.contact-hero:has(.real-photo){background:#fff}
.hero-photo.real-photo:after,.collection-hero-photo.real-photo:after,.contact-hero-photo.real-photo:after{background:linear-gradient(90deg,#fff,transparent 18%)}
.hero-photo.real-photo>img,.collection-hero-photo.real-photo>img,.contact-hero-photo.real-photo>img{object-position:65% center}
.photo-caption{position:absolute;bottom:24px;left:24px;right:18px;color:#fff;font-size:14px;line-height:1.4;text-shadow:none}
.city-caption{top:30px;bottom:auto;color:#242424;text-shadow:none;font:italic 25px 'Segoe Print',cursive}
.hero:has(.real-photo) .hero-note{opacity:1;background:transparent;padding:0;color:#191919}
.hero-note span{border:0;margin-top:12px;height:auto;line-height:1}
@media(max-width:760px){
  .hero-photo.real-photo:after,.collection-hero-photo.real-photo:after,.contact-hero-photo.real-photo:after{background:linear-gradient(#fff,transparent 18%)}
  .hero:has(.real-photo) .origin{color:#191919;border-color:#191919}
  .photo-caption{font-size:12px;left:15px;bottom:18px}
  .city-caption{font-size:21px;top:25px}
}
.skip-link{position:fixed;left:12px;top:-70px;z-index:100;background:#191919;color:white;padding:12px 18px}
.skip-link:focus{top:12px}
.socials button{background:transparent;color:#191919;padding:4px;line-height:0;min-width:30px;min-height:30px}
.socials svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.7;fill:none}
footer .socials{gap:10px}
.privacy-link{background:none;text-decoration:underline;text-underline-offset:3px;padding:4px 0 0;font-size:11px;color:inherit}
.dialog-link{display:inline-block;margin-top:18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
dialog{max-height:90vh;overflow:auto}
dialog .dark{display:inline-block;text-align:center;white-space:normal}
dialog label{font-size:14px}
dialog .form-status{font-size:13px;margin:12px 0 0}
form .form-notice{font-size:12px;line-height:1.4;margin:0 0 12px;color:#5a5a52}
form .form-status:not(:empty){font-size:13px;line-height:1.5}
form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;margin:10px 0 14px}.consent input{width:18px;height:18px;margin:0;flex:0 0 auto}
.captcha-slot{margin-bottom:12px}
button:disabled{cursor:wait;opacity:.6}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #68745e;outline-offset:2px}
.no-script{padding:15px;text-align:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:761px) and (max-width:1000px){
  header{gap:20px!important;padding-left:3%!important;padding-right:3%!important}
  header nav{gap:18px!important}
  header .dark{padding:12px 16px!important}
  footer{gap:20px;padding-left:3%!important;padding-right:3%!important;flex-wrap:wrap}
  footer nav{gap:18px!important}
  footer>p{padding-left:20px}
  .story-copy{padding-top:20px}
  .story h2{font-size:29px}
  .contact-intro h2{font-size:31px;white-space:normal}
  .collection-hero{min-height:345px}
  .contact-hero{min-height:440px}
  .inspiration-hero{min-height:540px}
  .inspiration-benefits>div,.inspiration-benefits>div+div{padding:0 12px;gap:12px}
  .roots h2{font-size:29px}
  .handwritten-note{font-size:22px;white-space:normal;margin-left:10px}
}
@media(max-width:760px){
  header nav a{padding:6px 0}
  input,textarea,select,.contact input,.contact textarea,.collection-contact input,.collection-contact textarea,.collection-contact select{font-size:16px}
  .collection-hero{height:auto;display:flex;flex-direction:column}
  .collection-hero-copy{padding-bottom:28px;order:0}
  .collection-hero-photo{position:relative;inset:auto;height:315px;width:100%;order:1}
  .collection-hero h1{font-size:clamp(35px,10vw,46px);white-space:normal}
  .collection-hero .eyebrow{white-space:normal}
  .collection-contact .fields{flex-direction:column}
  .contact .fields{flex-direction:column}
  .contact form{width:100%}
  .contact .handwritten{display:none}
  footer nav{gap:16px!important}
}
@media(max-width:360px){
  header{gap:12px!important}
  header .logo{font-size:16px;letter-spacing:4px}
  header .dark{padding:10px 12px!important;font-size:11px}
  .hero h1{font-size:42px}
  .collection-contact .dark{min-width:0;width:100%}
}
@media(max-width:360px){.lithuania>div+div{padding:35px 14px}.lithuania h2{font-size:25px}.lithuania p{font-size:14px}}
/* Native text remains crisp at every screen density. */
.inspiration-copy{opacity:0;pointer-events:none;background:transparent;padding:20px!important;left:0!important;top:0!important;height:100%;width:48%}
.roots-material{display:block}.roots-material:hover .photo-caption{text-decoration:underline;text-underline-offset:5px}
.roots-material:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #68745e;outline-offset:4px}
.product .notify{white-space:normal;line-height:1.4;min-height:44px}
.crop:not(.real-photo)>img{filter:contrast(1.035)}
@media(max-width:760px){header nav a,footer nav a{min-height:44px;display:inline-flex;align-items:center}.inspiration-copy h2{font-size:23px}.product .notify{font-size:12px}.form-status{overflow-wrap:anywhere}dialog{max-width:calc(100vw - 24px)}}

.photo-caption,.inspiration-copy{border:0;box-shadow:none;border-radius:0}

.legal-page{max-width:850px;margin:0 auto;padding:70px 6%;line-height:1.65}.legal-page h1{font-size:clamp(38px,6vw,64px);margin:12px 0 28px}.legal-page h2{font-size:25px;margin:34px 0 10px}.legal-page p{font-size:15px}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-updated{margin-top:38px;color:#666}


/* The compact performance panel needs its own rhythm; the base layout made this
   text feel cramped beside the close-up photograph. */
.material-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(24px, 3.2vw, 46px) clamp(20px, 2.7vw, 38px) !important;
}

.material-copy .material-eyebrow {
  margin: 0 0 16px;
  color: #d8d9d3;
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: .16em;
}

.material-copy h3 {
  font-size: clamp(20px, 2vw, 29px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.material-copy .short-line {
  width: 34px;
  margin: 20px 0 14px;
  border-color: #aeb0a8;
}

.material-features {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.material-features li {
  padding: 8px 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: #f3f3ef;
  font-size: 12px;
  line-height: 1.2;
}

@media (max-width: 760px) {
  .material-copy {
    padding: 38px 30px !important;
  }

  .material-copy h3 {
    font-size: clamp(27px, 8vw, 36px);
  }

  .material-features li {
    font-size: 15px;
    padding: 10px 0;
  }
}
