/* Service article lists (from DLE engine.css, trimmed) */
.ios-list,.luxury-list,.addon-list{ list-style:none; padding:0; margin:0; }
.article__body .ios-list li,.article__body .luxury-list li,.article__body .addon-list li{ list-style:none; }
.ios-list li{ position:relative; padding:12px 0 12px 24px; font-size:15.5px; line-height:1.45; color:#1d1d1f; border-bottom:1px solid rgba(0,0,0,.05); }
.ios-list li:last-child{ border-bottom:0; }
.ios-list li::before{ content:"✓"; position:absolute; left:0; top:12px; font-size:13px; color:var(--gold-strong); font-weight:600; }
.section-title{ font-size:22px; font-weight:600; color:#1d1d1f; margin:30px 0 18px; }
.section-title::after{ content:""; display:block; width:42px; height:3px; background:var(--gold); margin-top:8px; border-radius:2px; }
.luxury-list li{ position:relative; padding-left:26px; margin-bottom:16px; font-size:16px; color:#1d1d1f; }
.luxury-list li::before{ content:""; position:absolute; left:0; top:8px; width:6px; height:6px; background:var(--gold); border-radius:50%; }
.addon-list li{ position:relative; padding-left:26px; margin-bottom:14px; font-size:15.5px; color:#1d1d1f; }
.addon-list li::before{ content:"+"; position:absolute; left:0; top:1px; font-size:16px; font-weight:600; color:var(--gold-strong); }
.text-block{ padding:0 14px; margin-bottom:20px; }
.text-block p{ margin-bottom:16px; line-height:1.6; }
.article--wide,.content-area--wide{ max-width:none; margin:0; }
.about-landing{ color:#3a3a3a; line-height:1.7; }
.quote_block .quote{ margin:0; }

/* Contact form */
.lagom-fb{ max-width:820px; margin:0 auto 40px; }
.lagom-fb__lead{ color:#555; margin:0 0 22px; font-size:15px; line-height:1.55; }
.lagom-fb__form{ background:#fafafa; border:1px solid var(--line); padding:22px; border-radius:var(--r); }
.lagom-fb__hp{ position:absolute; left:-9999px; height:0; width:0; opacity:0; }
.lagom-fb__grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lagom-fb__field{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:#333; font-weight:600; }
.lagom-fb__field--full{ margin-top:14px; }
.lagom-fb__field input,.lagom-fb__field textarea{
  font:15px/1.4 var(--font-body); padding:10px 12px; border:1px solid #d2d2d2;
  border-radius:4px; background:#fff; color:#222; width:100%; box-sizing:border-box;
}
.lagom-fb__field input:focus,.lagom-fb__field textarea:focus{ border-color:var(--gold); outline:none; }
.lagom-fb__drop{ margin:18px 0; border:2px dashed #d0d0d0; border-radius:8px; background:#fff; padding:18px; text-align:center; position:relative; }
.lagom-fb__drop.is-over{ border-color:var(--gold); background:#fffbeb; }
.lagom-fb__drop input[type=file]{ position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; z-index:1; }
.lagom-fb__drop-copy{ position:relative; z-index:0; pointer-events:none; }
.lagom-fb__files{ position:relative; z-index:2; }
.lagom-fb__files button{ position:relative; z-index:3; }
.lagom-fb__drop-copy strong{ display:block; font-size:16px; color:#111; margin-bottom:4px; }
.lagom-fb__drop-copy span{ font-size:13px; color:#666; }
.lagom-fb__files{ list-style:none; margin:12px 0 0; padding:0; text-align:left; }
.lagom-fb__files li{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:8px 0; border-top:1px solid #eee; font-size:13px; }
.lagom-fb__files .name{ flex:1; word-break:break-all; }
.lagom-fb__files .meta{ color:#777; white-space:nowrap; }
.lagom-fb__files .bar{ flex-basis:100%; height:4px; background:#eee; border-radius:2px; overflow:hidden; }
.lagom-fb__files .bar>i{ display:block; height:100%; width:0; background:var(--gold); }
.lagom-fb__files button{ border:0; background:none; color:#a00; cursor:pointer; }
.lagom-fb__captcha{ margin:16px 0; }
.lagom-fb__actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.lagom-fb__status{ margin:0; color:#444; }
.lagom-fb__status.is-err{ color:#b00020; }
.lagom-fb__status.is-ok{ color:#1b7a3a; }
.lagom-fb__done{
  padding:clamp(36px,5vw,52px) 28px;
  text-align:center;
  background:linear-gradient(180deg,#fff 0%,#f7f5f0 100%);
  border:1px solid var(--line);
  border-radius:calc(var(--r) + 4px);
  box-shadow:0 18px 40px rgba(20,20,20,.06);
  animation:lagomDoneIn .45s ease both;
  position:relative;
  overflow:hidden;
}
.lagom-fb__done::before{
  content:""; position:absolute; inset:auto -20% -40% -20%; height:70%;
  background:radial-gradient(ellipse at center, rgba(196,162,94,.18), transparent 70%);
  pointer-events:none;
}
.lagom-fb__done-icon{
  width:64px; height:64px; margin:0 auto 18px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--ink); color:#fff; font-size:26px;
  box-shadow:0 0 0 8px rgba(196,162,94,.18);
  position:relative; z-index:1;
}
.lagom-fb__done-icon .fa{ line-height:1; }
.lagom-fb__done-title{
  margin:0 0 10px; font-family:var(--font-display);
  font-size:clamp(20px,2.6vw,26px); font-weight:600; letter-spacing:-.01em;
  color:var(--ink); position:relative; z-index:1;
}
.lagom-fb__done-sub{
  margin:0 auto 22px; max-width:36em; color:var(--muted);
  font-size:15px; line-height:1.55; position:relative; z-index:1;
}
.lagom-fb__done-back{ position:relative; z-index:1; }
@keyframes lagomDoneIn{
  from{ opacity:0; transform:translateY(10px) scale(.98); }
  to{ opacity:1; transform:none; }
}
@media (max-width:700px){
  .lagom-fb__grid{ grid-template-columns:1fr; }
  .lagom-fb__form{ padding:14px; }
}

@media (max-width:700px){
  
  
}


/* prevent form controls from overflowing on mobile */
.lagom-fb,
.lagom-fb__form,
.lagom-fb__grid,
.lagom-fb__field,
.lagom-fb__phone{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.lagom-fb__form{ overflow:hidden; }
.lagom-fb__field input,
.lagom-fb__field textarea,
.lagom-fb__field select,
.lagom-fb__dial,
.lagom-fb__phone input[type=tel]{
  max-width:100%;
  box-sizing:border-box;
}
.lagom-fb__phone{
  display:flex; align-items:stretch; gap:8px; width:100%;
  max-width:100%;
}
.lagom-fb__dial{
  flex:0 0 78px; width:78px; max-width:78px;
  padding:10px 16px 10px 4px; text-align:center;
  font-size:14px; line-height:1.2; cursor:pointer;
  appearance:none; -webkit-appearance:none;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#666 50%),linear-gradient(135deg,#666 50%,transparent 50%);
  background-position:calc(100% - 9px) calc(50% - 2px), calc(100% - 4px) calc(50% - 2px);
  background-size:5px 5px, 5px 5px; background-repeat:no-repeat;
  border:1px solid #d2d2d2; border-radius:4px; color:#222;
  box-sizing:border-box;
}
.lagom-fb__phone input[type=tel]{
  flex:1 1 0; min-width:0; width:100%;
  font:15px/1.4 var(--font-body); padding:10px 12px;
  border:1px solid #d2d2d2; border-radius:4px; background:#fff; color:#222;
  box-sizing:border-box;
}
@media (max-width:700px){
  .lagom-fb__form{ padding:14px; }
  .lagom-fb__grid{ grid-template-columns:1fr; }
  .lagom-fb__phone{ gap:6px; }
  .lagom-fb__dial{ flex-basis:72px; width:72px; max-width:72px; }
}

.lagom-fb__form{ width:100%; max-width:100%; box-sizing:border-box; }
.lagom-fb__grid{ width:100%; max-width:100%; }
.lagom-fb__grid > *{ min-width:0; max-width:100%; }
.lagom-fb__field{ width:100%; max-width:100%; }
.lagom-fb__dial{
  min-width:0 !important;
  max-width:78px !important;
  overflow:hidden;
}

