
/* Fundacja Dobra Relacja — responsive project stylesheet, Figma desktop reference 1920px */
:root{--fdr-ink:#065958;--fdr-paper:#f7f3ed;--fdr-line:#ebe4b2;--fdr-white:#fff;--fdr-font:"itc-avant-garde-gothic-pro","ITC Avant Garde Gothic Pro","Century Gothic","Trebuchet MS",sans-serif;--fdr-gutter:clamp(20px,7.8125vw,150px)}
html{scroll-behavior:smooth}body.fdr-site{margin:0;background:#fff;color:var(--fdr-ink);font-family:var(--fdr-font);font-weight:300;overflow-x:clip}body.fdr-site *{box-sizing:border-box}body.fdr-site a{color:inherit}body.fdr-site h1,body.fdr-site h2,body.fdr-site h3,body.fdr-site p{margin:0}body.fdr-site button,body.fdr-site a{outline-offset:5px}body.fdr-site button:focus-visible,body.fdr-site a:focus-visible,body.fdr-site summary:focus-visible{outline:3px solid var(--fdr-ink)}.fdr-container{width:min(100% - 2*var(--fdr-gutter),1620px);margin-inline:auto}.fdr-skip{position:fixed;z-index:999;top:-80px;left:10px;background:#fff;padding:14px}.fdr-skip:focus{top:10px}
.fdr-header{height:165px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:clamp(28px,4.8vw,95px);padding:0 clamp(28px,3.75vw,72px) 0 46px;color:var(--fdr-ink)}.fdr-logo{width:189px;min-width:189px;text-decoration:none;display:block}.fdr-logo-image{width:189px;height:136px;object-fit:contain;display:block}.fdr-logo-text{display:flex;align-items:center;flex-direction:column;line-height:1.05;text-align:center;font-size:40px}.fdr-logo-text small{font-size:14px}.fdr-logo-text strong{font-weight:700}.fdr-logo:has(.fdr-logo-image) .fdr-logo-text{display:none}.fdr-nav{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3.8vw,75px);flex:1}.fdr-nav a{font-size:16px;letter-spacing:0;text-transform:uppercase;font-weight:500;text-decoration:none;white-space:nowrap}.fdr-nav a:hover,.fdr-footer a:hover{text-decoration:underline;text-underline-offset:5px}.fdr-contact,.fdr-button{border:1.5px solid var(--fdr-ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:16px 28px;font-weight:500;font-size:16px;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.fdr-contact:hover,.fdr-button:hover{background:var(--fdr-ink);color:#fff;transform:translateY(-2px)}.fdr-button{gap:20px}.fdr-button span{font-size:22px;line-height:.7}.fdr-menu-toggle{display:none}
.fdr-hero{height:1082px;min-height:620px;position:relative;isolation:isolate;background:linear-gradient(135deg,#f7d4ae,#fbe5d0 41%,#b48b69 75%,#6e624b);overflow:hidden}.fdr-hero-media,.fdr-hero-gradient{position:absolute;inset:0}.fdr-hero-media img,.fdr-hero-media video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:absolute;inset:0}.fdr-hero-gradient{background:linear-gradient(90deg,rgba(255,237,213,.42) 0%,rgba(255,238,216,.32) 29%,transparent 61%);pointer-events:none}.fdr-hero-content{position:relative;padding-top:303px;z-index:1}.fdr-hero h1{font-weight:500;max-width:720px;font-size:clamp(36px,3.125vw,60px);line-height:normal;letter-spacing:0}.fdr-hero p{font-size:28px;line-height:normal;max-width:660px;margin-top:29px;font-weight:300}.fdr-hero-benefits{display:flex;gap:70px;margin-top:66px;text-align:center}.fdr-hero-benefits>div{min-width:116px;font-size:16px;font-weight:500;line-height:normal}.fdr-icon{display:block;font-size:42px;line-height:1;margin-bottom:17px}
.fdr-section{position:relative}.fdr-offers{padding:70px 0 54px}.fdr-heading{text-align:center;margin:0 auto 94px}.fdr-eyebrow{font-size:18px;line-height:normal;display:block;margin-bottom:32px;font-weight:500;letter-spacing:0}.fdr-heading h2{font-size:44px;font-weight:500;letter-spacing:0;line-height:normal}.fdr-heading p{font-size:18px;font-weight:300;color:#203b3c;margin-top:20px;line-height:28px;letter-spacing:0}.fdr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.fdr-card{border:1px solid var(--fdr-line);border-radius:40px;overflow:hidden;background:#fff;min-width:0}.fdr-card-media{position:relative;height:402px;overflow:hidden;background:#ece2d7;border-radius:40px}.fdr-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.fdr-card:hover .fdr-card-media img{transform:scale(1.035)}.fdr-card-arrow{position:absolute;top:20px;right:20px;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--fdr-ink);display:grid;place-items:center;font-size:34px}.fdr-card-body{padding:22px 31px 27px}.fdr-card h3{font-size:28px;line-height:normal;font-weight:500;letter-spacing:0}.fdr-card p{font-size:18px;font-weight:300;font-style:normal;line-height:normal;margin-top:15px;min-height:64px;color:#172b2b}.fdr-card-body a{font-size:14px;font-weight:500;text-decoration:none;display:inline-block;margin-top:18px}.fdr-card-body a span{margin-left:10px}
.fdr-about{min-height:918px;padding:185px 0 110px;background:var(--fdr-paper);clip-path:polygon(0 4%,13% 7%,28% 8%,43% 6%,62% 3%,80% 1%,100% 4%,100% 95%,80% 92%,58% 94%,39% 97%,18% 100%,0 96%)}.fdr-about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.fdr-about-copy{padding-left:136px}.fdr-about-copy .fdr-eyebrow{margin-bottom:26px}.fdr-about h2{max-width:690px;font-size:44px;line-height:normal;font-weight:500;letter-spacing:0}.fdr-about-text{font-size:18px;font-weight:300;line-height:28px;letter-spacing:0;color:#223634;margin-top:41px}.fdr-about-text p{margin-bottom:22px!important}.fdr-text-link{font-size:14px;display:inline-block;margin-top:52px;text-decoration:none;font-weight:500}.fdr-text-link span{margin-left:15px}.fdr-about-art{width:min(100%,725px);aspect-ratio:1;position:relative;justify-self:end;border:1.5px solid #e5d363;border-radius:50%;overflow:hidden}.fdr-about-art img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.fdr-faq{padding:70px 0 135px}.fdr-faq .fdr-heading{margin-bottom:100px}.fdr-faq-grid{display:grid;grid-template-columns:43% 47%;justify-content:space-between;align-items:center}.fdr-faq-art{width:min(100%,540px);aspect-ratio:1;border-radius:50%;border:1px solid var(--fdr-line);overflow:hidden;justify-self:start;margin-left:70px}.fdr-faq-art img{width:100%;height:100%;object-fit:cover}.fdr-faq-items{display:flex;flex-direction:column;gap:12px}.fdr-faq-item{border:1px solid var(--fdr-line);background:#f8f6f5;border-radius:17px;overflow:hidden}.fdr-faq-item summary{padding:25px 27px 25px 32px;font-size:18px;font-weight:500;line-height:28px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}.fdr-faq-item summary::-webkit-details-marker{display:none}.fdr-faq-item summary span{width:40px;min-width:40px;height:40px;background:#fff;border:1px solid var(--fdr-line);border-radius:50%;display:grid;place-items:center}.fdr-faq-item summary span:before{content:'+';font-size:25px;line-height:1}.fdr-faq-item[open] summary span:before{content:'−'}.fdr-faq-answer{font-size:18px;font-weight:300;line-height:28px;color:#354242;padding:0 32px 28px}.fdr-faq-answer:empty{display:none}
.fdr-news{background:var(--fdr-paper);padding:125px 0 75px;clip-path:polygon(0 3%,19% 6%,39% 5%,62% 1%,82% 2%,100% 4%,100% 100%,0 100%)}.fdr-news .fdr-heading{margin-bottom:91px}.fdr-news-card{background:transparent}.fdr-news-card .fdr-card-body{padding:25px 28px 32px}.fdr-news-card time{font-size:14px;font-weight:500;color:#263230}.fdr-news-card h3{margin-top:10px;min-height:72px}.fdr-news-card .fdr-card-media{height:402px}.fdr-center{text-align:center;margin-top:45px}
.fdr-booking{min-height:680px;position:relative;background:#eee5d9;overflow:hidden;display:flex;align-items:center}.fdr-booking-image{position:absolute;inset:0 0 0 40%;background:linear-gradient(120deg,#e8d2b8,#b28a5c);clip-path:ellipse(96% 120% at 96% 96%)}.fdr-booking-image img{height:100%;width:100%;object-fit:cover}.fdr-booking-content{position:relative;z-index:1;padding-top:74px;padding-bottom:70px}.fdr-booking-content>div{max-width:545px}.fdr-booking .fdr-eyebrow{margin-bottom:34px}.fdr-booking h2{font-size:44px;line-height:normal;font-weight:500;letter-spacing:0}.fdr-booking p{font-size:18px;font-weight:300;line-height:28px;color:#243c39;margin-top:26px;max-width:500px}.fdr-booking-benefits{display:flex;align-items:center;gap:30px;margin:47px 0}.fdr-booking-benefits div{background:#ede8df;min-width:170px;text-align:center;font-size:16px;font-weight:500;line-height:normal;padding:18px;border-radius:8px}.fdr-booking-benefits span{display:block;font-size:37px;line-height:1.1;margin-bottom:14px}
.fdr-footer{background:var(--fdr-paper);padding:76px 0 30px}.fdr-footer-grid{display:grid;grid-template-columns:1.25fr .75fr .8fr 1fr;gap:70px}.fdr-footer-grid>div+div{border-left:1px solid var(--fdr-line);padding-left:32px}.fdr-footer h2{font-size:18px;font-weight:500;margin-bottom:32px!important}.fdr-footer a,.fdr-footer span{display:block;text-decoration:none;font-size:14px;font-weight:500;line-height:44px;margin-bottom:0;letter-spacing:0}.fdr-footer-about p{font-size:18px;font-weight:300;max-width:383px;line-height:28px;margin:16px 0 34px!important}.fdr-footer-logo{max-width:190px;height:auto}.fdr-footer .fdr-button{display:inline-flex;font-size:16px;line-height:normal;margin-top:20px}.fdr-legal{display:flex;justify-content:space-between;gap:20px;margin-top:64px;border-top:1px solid var(--fdr-line);padding-top:22px}.fdr-legal span{font-size:12px;font-weight:500;line-height:44px}
@media(max-width:1450px){:root{--fdr-gutter:clamp(24px,5vw,90px)}.fdr-header{height:110px;padding:0 32px}.fdr-logo,.fdr-logo-image{width:120px;min-width:120px;height:auto}.fdr-nav{gap:18px}.fdr-nav a{font-size:11px}.fdr-contact{font-size:12px;padding:12px 18px}.fdr-hero{height:780px}.fdr-hero-content{padding-top:225px}.fdr-hero h1{font-size:48px}.fdr-hero p{font-size:21px}.fdr-card-media,.fdr-news-card .fdr-card-media{height:310px}.fdr-card h3{font-size:23px}.fdr-about-copy{padding-left:35px}.fdr-about{padding:140px 0 90px;min-height:730px}.fdr-about h2{font-size:37px}.fdr-about-text{font-size:15px}.fdr-footer-grid{gap:30px}}
@media(max-width:1024px){.fdr-header{height:90px;justify-content:space-between}.fdr-contact{margin-left:auto;margin-right:16px}.fdr-menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;order:3;width:44px;height:44px;background:#fff9;border:1px solid var(--fdr-ink);border-radius:10px;cursor:pointer}.fdr-menu-toggle>span:not(.screen-reader-text){width:23px;height:2px;background:var(--fdr-ink)}.fdr-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px var(--fdr-gutter);background:#fff9ef;box-shadow:0 15px 30px #0001;flex-direction:column;align-items:stretch;gap:0}.fdr-nav.is-open{display:flex}.fdr-nav a{padding:13px 0;font-size:14px;border-bottom:1px solid #dcd4c7}.fdr-hero{height:680px}.fdr-hero-content{padding-top:185px}.fdr-hero h1{font-size:42px}.fdr-hero p{font-size:19px}.fdr-hero-benefits{gap:30px}.fdr-cards{gap:17px}.fdr-card{border-radius:24px}.fdr-card-media,.fdr-news-card .fdr-card-media{border-radius:24px;height:240px}.fdr-card-arrow{width:45px;height:45px;font-size:25px}.fdr-card-body{padding:19px}.fdr-card h3{font-size:19px}.fdr-card p{font-size:13px}.fdr-heading h2,.fdr-about h2,.fdr-booking h2{font-size:34px}.fdr-heading{margin-bottom:55px}.fdr-about-copy{padding:0}.fdr-about-text{font-size:14px}.fdr-faq-art{margin-left:0}.fdr-faq-grid{grid-template-columns:40% 55%}.fdr-faq-item summary{font-size:13px;padding:14px}.fdr-footer-grid{gap:15px;grid-template-columns:1fr 1fr}.fdr-footer-grid>div+div{border-left:0;padding-left:0}}
@media(max-width:767px){:root{--fdr-gutter:20px}.fdr-header{height:76px;padding:0 20px}.fdr-logo,.fdr-logo-image{width:86px;min-width:86px}.fdr-contact{font-size:11px;padding:9px 13px;margin-right:7px}.fdr-hero{height:700px;background:#e6bea1}.fdr-hero-media img,.fdr-hero-media video{object-position:60% center}.fdr-hero-gradient{background:linear-gradient(180deg,rgba(255,238,213,.8),rgba(255,241,227,.62) 45%,rgba(36,31,25,.08) 100%)}.fdr-hero-content{padding-top:145px}.fdr-hero h1{font-size:clamp(34px,9vw,48px);max-width:90%}.fdr-hero p{font-size:16px;line-height:1.45;max-width:330px;margin-top:20px}.fdr-hero-benefits{gap:10px;justify-content:space-between;margin-top:40px;max-width:360px}.fdr-hero-benefits>div{font-size:10px;min-width:0}.fdr-icon{font-size:29px;margin-bottom:10px}.fdr-offers,.fdr-faq{padding:70px 0}.fdr-heading{margin-bottom:38px}.fdr-eyebrow{font-size:11px;margin-bottom:15px}.fdr-heading h2,.fdr-about h2,.fdr-booking h2{font-size:clamp(26px,7vw,35px)}.fdr-heading p{font-size:13px}.fdr-cards{display:grid;grid-template-columns:1fr;gap:18px}.fdr-card-media,.fdr-news-card .fdr-card-media{height:auto;aspect-ratio:518/402}.fdr-card h3{font-size:22px}.fdr-card p{font-size:14px;min-height:0}.fdr-about{clip-path:none;padding:85px 0;background:var(--fdr-paper)}.fdr-about-grid{grid-template-columns:1fr;gap:36px}.fdr-about-text{font-size:14px}.fdr-about-art{width:min(88%,430px);justify-self:center}.fdr-text-link{margin-top:20px}.fdr-faq-grid{grid-template-columns:1fr;gap:35px}.fdr-faq-art{width:min(84%,340px);justify-self:center}.fdr-faq-item summary{font-size:14px}.fdr-news{clip-path:none;padding:75px 0}.fdr-news-card h3{min-height:0}.fdr-booking{display:block;min-height:760px}.fdr-booking-image{inset:auto 0 0 0;height:46%;clip-path:none}.fdr-booking-content{padding-top:70px}.fdr-booking-content>div{max-width:440px}.fdr-booking-benefits{margin:25px 0;gap:10px}.fdr-booking-benefits div{min-width:0;width:50%;font-size:12px;padding:13px 8px}.fdr-booking-benefits span{font-size:24px}.fdr-footer{padding:60px 0 28px}.fdr-footer-grid{grid-template-columns:1fr 1fr;gap:38px 20px}.fdr-footer-grid>div:first-child{grid-column:span 2}.fdr-footer h2{font-size:12px}.fdr-footer a,.fdr-footer span{font-size:12px}.fdr-legal{display:block;margin-top:42px}.fdr-legal span{font-size:11px}}
@media(max-width:390px){.fdr-hero{height:640px}.fdr-hero h1{font-size:34px}.fdr-contact{display:none}.fdr-header{gap:0}.fdr-booking{min-height:790px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fdr-card-media img,.fdr-contact,.fdr-button{transition:none!important}.fdr-hero-video{display:none!important}}

/* FDR Desktop geometry: Figma 1920px exact anchors, responsive <1750px keeps fluid rules. */
@media (min-width:1750px) {
  /* Figma: logo x46 y24; nav x469 y92; contact button x1675 y71 (at 1920). */
  .fdr-header { height:160px; display:block; padding:0; }
  .fdr-header .fdr-logo { position:absolute; left:46px; top:24px; width:189px; min-width:189px; }
  .fdr-header .fdr-logo-image { display:block; width:189px; height:136px; object-fit:contain; }
  .fdr-header .fdr-nav {
    position:absolute;
    top:92px;
    left:calc(50% - 491px);
    display:grid;
    grid-template-columns:172px 135px 132px 262px 179px max-content;
    gap:0;
    flex:none;
    justify-content:start;
    align-items:start;
    width:max-content;
  }
  .fdr-header .fdr-nav a { font-size:16px; font-weight:500; line-height:19px; letter-spacing:0; }
  .fdr-header .fdr-contact {
    position:absolute; right:71px; top:71px;
    width:174px; height:54px; padding:0;
    font-size:16px; font-weight:500; line-height:19px;
  }
  /* Figma: title x148 y312, description x148 y478. */
  .fdr-hero-content { left:-2px; padding-top:312px; }
  .fdr-hero h1 { width:658px; max-width:658px; line-height:71.5px; letter-spacing:0; }
  .fdr-hero p { width:658px; max-width:658px; margin-top:23px; line-height:normal; letter-spacing:0; }
  /* Figma: original icons y631; benefit labels y681; centers x~211/396/598. */
  .fdr-hero-benefits {
    position:absolute; top:631px; left:1px; margin:0;
    display:grid; grid-template-columns:196px 201px 103px;
    gap:0; justify-content:start; align-items:start;
  }
  .fdr-hero-benefits > div { width:124px; min-width:0; font-size:16px; line-height:19px; font-weight:500; }
  .fdr-hero-benefits > div:nth-child(2) { width:102px; }
  .fdr-hero-benefits > div:nth-child(3) { width:103px; }
  .fdr-icon { display:block; height:36px; line-height:36px; margin-bottom:14px; font-size:42px; }
}
/* FDR Offer card image-to-content calibration (Figma 518x586 at 1920). */
@media (min-width:1750px) {
  /* Source Figma: card x698 y1321 518x586; image 518x402.
   * Text title y1744, body y1791, CTA y1869; keep CTA independent of wrapping.
   */
  .fdr-offers .fdr-card { height:586px; }
  .fdr-offers .fdr-card-media { height:402px; }
  .fdr-offers .fdr-card-body {
    position:relative;
    height:184px;
    padding:21px 31px 0;
  }
  .fdr-offers .fdr-card h3 {
    margin:0;
    font-size:28px;
    font-weight:500;
    line-height:34px;
  }
  .fdr-offers .fdr-card p {
    margin-top:13px;
    min-height:0;
    max-width:459px;
    font-size:18px;
    font-weight:300;
    line-height:23px;
    letter-spacing:0;
  }
  .fdr-offers .fdr-card-body a {
    position:absolute;
    left:31px;
    bottom:21px;
    margin-top:0;
    line-height:17px;
    font-size:14px;
    font-weight:500;
  }
}
/* FDR supplied original SVG assets: hero, floral, booking, footer (2026-10-10) */
.fdr-hero-benefits .fdr-icon {
  display:block;
  width:auto;
  height:37px;
  max-width:47px;
  object-fit:contain;
  margin:0 auto 13px;
}
.fdr-faq { isolation:isolate; }
.fdr-floral {
  position:absolute;
  z-index:3;
  top:-370px;
  right:-180px;
  width:608px;
  height:auto;
  max-width:none;
  display:block;
  pointer-events:none;
}
.fdr-faq > .fdr-container { position:relative; z-index:1; }
.fdr-booking-benefits .fdr-booking-benefit-icon {
  display:block;
  height:40px;
  width:auto;
  max-width:45px;
  object-fit:contain;
  margin:0 auto 14px;
}
.fdr-footer .fdr-footer-logo {
  display:block;
  width:189px;
  height:136px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
.fdr-footer .fdr-social-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  line-height:1;
}
.fdr-social-icon img { width:34px; height:34px; }
.fdr-footer .fdr-contact-item {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 13px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.fdr-contact-item img {
  flex-shrink:0;
  width:26px;
  height:26px;
  object-fit:contain;
}
.fdr-contact-item:nth-of-type(3) img { width:30px; height:30px; }
@media (max-width:1200px) {
  .fdr-floral { width:400px; top:-250px; right:-135px; }
}
@media (max-width:767px) {
  .fdr-floral { display:none; }
  .fdr-hero-benefits .fdr-icon { height:31px; max-width:38px; margin-bottom:10px; }
  .fdr-footer .fdr-footer-logo { width:130px; height:auto; }
  .fdr-footer .fdr-contact-item { font-size:12px; gap:7px; }
  .fdr-contact-item img { width:20px; height:20px; }
}

/* Motion Standard TEST — scoped to Fundacja project; safe without JS. */
body.fdr-site { --fdr-motion-ease:cubic-bezier(.22,1,.36,1); --fdr-motion-duration:620ms; --fdr-motion-distance:26px; }
body.fdr-site .fdr-hero { --fdr-motion-duration:720ms; }
body.fdr-site [data-motion-delay="1"] { --fdr-delay:120ms; }
html.fdr-motion-ready body.fdr-site [data-animate] {
  opacity:0;
  transform:translate3d(0,var(--fdr-motion-distance),0);
  transition:opacity var(--fdr-motion-duration) var(--fdr-motion-ease),transform var(--fdr-motion-duration) var(--fdr-motion-ease);
  transition-delay:calc(var(--fdr-delay,0ms) + var(--fdr-stagger-index,0) * 85ms);
}
html.fdr-motion-ready body.fdr-site [data-animate="fade-right"] {transform:translate3d(-30px,0,0)}
html.fdr-motion-ready body.fdr-site [data-animate="scale-in"] {transform:scale(.965)}
html.fdr-motion-ready body.fdr-site [data-animate].is-visible {opacity:1;transform:none}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  html.fdr-motion-ready body.fdr-site [data-animate],
  html.fdr-motion-ready body.fdr-site [data-animate].is-visible {opacity:1!important;transform:none!important;transition:none!important}
}

/* NEVPIX FDR — responsive 1920 reference calibration v1
   Figma anchors at 1920: nav x469/641/776/908/1170/1349, hero title y312,
   description y478, benefit icons y631. All desktop values scale with CSS viewport width.
   Video and poster intentionally SHARE the media container; ignore frame differences.
*/
.fdr-hero {
  height:auto;
  min-height:clamp(760px, 100svh, 1082px);
}
.fdr-hero-media img,
.fdr-hero-media video {
  width:100%;
  height:100%;
  object-fit:cover;
}
/* At tablet and phone widths, preserve the existing responsive content layout. */
@media (min-width:768px) and (max-width:1450px) {
  .fdr-hero {height:auto;min-height:clamp(700px,100svh,900px)}
}
@media (max-width:767px) {
  .fdr-hero {height:auto;min-height:clamp(650px,90svh,790px)}
}
@media (min-width:1451px) {
  /* Header: Figma grid positions, instead of arbitrary flex spacings. */
  .fdr-header {display:block;height:min(8.333vw,160px);padding:0;}
  .fdr-header .fdr-logo {
    position:absolute;
    left:min(2.396vw,46px);
    top:min(1.25vw,24px);
    width:min(9.844vw,189px);
    min-width:0;
  }
  .fdr-header .fdr-logo-image {
    width:100%;
    height:auto;
    aspect-ratio:189 / 136;
    object-fit:contain;
  }
  .fdr-header .fdr-nav {
    position:absolute;
    top:min(4.792vw,92px);
    left:min(24.427vw,469px);
    width:max-content;
    display:grid;
    grid-template-columns:min(8.958vw,172px) min(7.031vw,135px) min(6.875vw,132px) min(13.646vw,262px) min(9.323vw,179px) max-content;
    gap:0;
    align-items:start;
    justify-content:start;
    flex:none;
  }
  .fdr-header .fdr-nav a {
    font-size:clamp(13px,.8333vw,16px);
    font-weight:500;
    line-height:1.2;
    letter-spacing:0;
  }
  .fdr-header .fdr-contact {
    position:absolute;
    top:min(3.698vw,71px);
    right:min(3.698vw,71px);
    width:min(9.063vw,174px);
    height:min(2.813vw,54px);
    padding:0;
    font-size:clamp(14px,.8333vw,16px);
    line-height:1.2;
  }
  /* Use a flow-safe 3-row composition: each row is at least its content height.
     The rows start at the Figma anchors without absolutely positioning any text. */
  .fdr-hero-content {
    display:grid;
    grid-template-columns:minmax(0,min(34.271vw,658px));
    grid-template-rows:minmax(min(8.646vw,166px),max-content) minmax(min(7.969vw,153px),max-content) auto;
    align-items:start;
    padding-top:min(16.25vw,312px);
    left:0;
  }
  .fdr-hero h1 {
    grid-row:1;
    width:100%;
    max-width:none;
    font-size:clamp(44px,3.125vw,60px);
    font-weight:500;
    line-height:normal;
    letter-spacing:0;
  }
  .fdr-hero p {
    grid-row:2;
    width:100%;
    max-width:none;
    font-size:clamp(22px,1.4583vw,28px);
    font-weight:300;
    line-height:normal;
    letter-spacing:0;
    margin:0;
  }
  .fdr-hero-benefits {
    position:static;
    grid-row:3;
    display:grid;
    grid-template-columns:min(10.2083vw,196px) min(10.46875vw,201px) min(5.365vw,103px);
    align-items:start;
    justify-content:start;
    text-align:center;
    gap:0;
    left:auto;
    top:auto;
    margin:0;
  }
  .fdr-hero-benefits>div {
    width:min(6.4583vw,124px);
    min-width:0;
    font-size:clamp(13px,.8333vw,16px);
    font-weight:500;
    line-height:1.2;
  }
  .fdr-hero-benefits>div:nth-child(2){width:min(5.3125vw,102px)}
  .fdr-hero-benefits>div:nth-child(3){width:min(5.365vw,103px)}
  .fdr-hero-benefits .fdr-icon {
    width:auto;
    height:min(1.927vw,37px);
    max-width:min(2.448vw,47px);
    object-fit:contain;
    margin:0 auto min(.73vw,14px);
  }
}

/* FDR OFERTA — Figma 1920 responsive geometry v2
 * 1920 source: eyebrow y1161, heading y1208, card y1321.
 * Card 518x586; image 518x402; title y1744, description y1791, CTA y1869.
 * Scope strictly to this section; responsive scaling follows real CSS viewport,
 * including browser zoom. Cards may grow when editors add longer text.
 */
@media (min-width:1451px) {
  .fdr-offers {
    padding-top:min(4.1146vw,79px);
    padding-bottom:min(2.8125vw,54px);
  }
  .fdr-offers .fdr-heading {
    margin-bottom:min(3.125vw,60px);
  }
  .fdr-offers .fdr-eyebrow {
    font-size:min(.9375vw,18px);
    line-height:1.25;
    margin-bottom:min(1.3021vw,25px);
  }
  .fdr-offers .fdr-heading h2 {
    font-size:min(2.29167vw,44px);
    font-weight:500;
    line-height:1.2;
    max-width:966px;
    margin-inline:auto;
  }
  /* Existing 1620px container and approx. 32px card gaps match the Figma grid. */
  .fdr-offers .fdr-card {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:min(30.52084vw,586px);
    border-radius:min(2.08333vw,40px);
  }
  .fdr-offers .fdr-card-media {
    flex:none;
    height:min(20.9375vw,402px);
    border-radius:min(2.08333vw,40px);
  }
  .fdr-offers .fdr-card-arrow {
    top:min(1.04167vw,20px);
    right:min(1.04167vw,20px);
    width:min(3.33333vw,64px);
    height:min(3.33333vw,64px);
    font-size:min(1.77083vw,34px);
  }
  .fdr-offers .fdr-card-body {
    position:relative;
    display:flex;
    flex:1;
    flex-direction:column;
    height:auto;
    min-height:calc(min(9.58333vw,184px) - 2px);
    padding:min(1.09375vw,21px) min(1.61458vw,31px) min(1.09375vw,21px);
  }
  .fdr-offers .fdr-card h3 {
    margin:0;
    font-size:min(1.45833vw,28px);
    font-weight:500;
    line-height:1.2143;
    letter-spacing:0;
  }
  .fdr-offers .fdr-card p {
    min-height:0;
    max-width:none;
    margin-top:min(.67708vw,13px);
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.25;
    letter-spacing:0;
  }
  .fdr-offers .fdr-card-body a {
    position:static;
    display:inline-block;
    align-self:flex-start;
    margin-top:auto;
    padding-top:0;
    font-size:min(.72917vw,14px);
    font-weight:500;
    line-height:1.2143;
    letter-spacing:0;
  }
}

/* FDR offers interaction states — uses the shared hover/focus QA standard. */
.fdr-offers .fdr-card-body a {
  text-decoration:none;
  text-underline-offset:4px;

}
.fdr-offers .fdr-card-body a span {display:inline-block;transition:transform 180ms ease}
.fdr-offers .fdr-card-body a:hover,.fdr-offers .fdr-card-body a:focus-visible{text-decoration:underline}
.fdr-offers .fdr-card-body a:hover span,.fdr-offers .fdr-card-body a:focus-visible span{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.fdr-offers .fdr-card-body a span{transition:none}.fdr-offers .fdr-card-body a:hover span,.fdr-offers .fdr-card-body a:focus-visible span{transform:none}}

/* FDR About – reference composition from Figma; preserve ACF PNG transparency.
   The 833x883 PNG ALREADY contains the final irregular photograph and gold line.
   Never layer another border, clip-path or outline over this particular asset. */
.fdr-about {
  background:transparent;
  clip-path:none;
  isolation:isolate;
  overflow:visible;
}
.fdr-about-wave {
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none;
}
.fdr-about-grid {position:relative;z-index:1;}
.fdr-about-art,
.fdr-about-art img {
  border:0;
  border-radius:0;
  overflow:visible;
  clip-path:none;
  -webkit-clip-path:none;
  mask-image:none;
  -webkit-mask-image:none;
}
.fdr-about-art {aspect-ratio:auto;}
.fdr-about-art img {display:block;width:100%;height:auto;object-fit:contain;}
@media (min-width:1451px) {
  .fdr-about {height:919px;min-height:919px;padding:0;}
  .fdr-about-grid {
    display:grid;
    grid-template-columns:50% 50%;
    gap:0;
    align-items:start;
    height:100%;
  }
  /* Figma x286 / y2155, measured from 1920px desktop artboard. */
  .fdr-about-copy {padding:193px 0 0 136px;}
  .fdr-about-copy .fdr-eyebrow {margin:0 0 26px;font-size:18px;line-height:22px;}
  .fdr-about h2 {width:675px;max-width:675px;font-size:44px;font-weight:500;line-height:normal;letter-spacing:0;}
  .fdr-about-text {width:650px;max-width:650px;font-size:18px;font-weight:300;line-height:28px;margin-top:41px;letter-spacing:0;}
  .fdr-about-text p {margin-bottom:22px!important;}
  .fdr-about .fdr-text-link {margin-top:35px;font-size:14px;font-weight:500;}
  /* Original Figma Group 2 bbox x998 y1939; image transparent SVG-like PNG 833x883. */
  .fdr-about-art {
    position:relative;
    width:833px;
    max-width:none;
    height:auto;
    margin-top:-23px;
    margin-left:38px;
    justify-self:start;
  }
  .fdr-about-art img {width:833px;height:auto;}
}
@media (max-width:1450px) {
  .fdr-about-art {width:100%;max-width:833px;aspect-ratio:auto;}
  .fdr-about-art img {width:100%;height:auto;border-radius:0;}
}

/* FDR FAQ — FIGMA section layout v1: 1920 reference x/y positions, image already composed in ACF PNG.
   The wave above this section and the floral corner are intentionally LOCKED.
   This is project-only geometry, not a global Nevpix convention. */
.fdr-faq .fdr-faq-art,
.fdr-faq .fdr-faq-art img {
  border:0;
  border-radius:0;
  clip-path:none;
  -webkit-clip-path:none;
  mask-image:none;
  -webkit-mask-image:none;
  box-shadow:none;
}
.fdr-faq .fdr-faq-art {
  overflow:visible;
  aspect-ratio:833 / 883;
}
.fdr-faq .fdr-faq-art img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.fdr-faq-item summary:hover {color:var(--fdr-ink);}
.fdr-faq-item summary span {flex:0 0 auto;}
@media (prefers-reduced-motion:reduce) {
  .fdr-faq-item summary span {transition:none;}
}
@media (min-width:1451px) {
  /* Artboard 1920: section begins at y2881; label y2934, H2 y2981,
     lead y3051, accordion x887/y3187, PNG bbox x47/y3052. */
  .fdr-faq {
    padding-top:min(2.76042vw,53px);
    padding-bottom:min(6.92708vw,133px);
    min-height:min(54.89583vw,1054px);
  }
  .fdr-faq .fdr-heading {
    margin:0 auto min(4.16667vw,80px);
    text-align:center;
  }
  .fdr-faq .fdr-eyebrow {
    font-size:min(.9375vw,18px);
    font-weight:500;
    line-height:1.22222;
    margin:0 0 min(1.30208vw,25px);
  }
  .fdr-faq .fdr-heading h2 {
    width:min(50.3125vw,966px);
    max-width:100%;
    margin:0 auto;
    font-size:min(2.29167vw,44px);
    line-height:1.590909;
    font-weight:500;
    letter-spacing:0;
  }
  .fdr-faq .fdr-heading p {
    width:min(42.5vw,816px);
    max-width:100%;
    margin:0 auto;
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.55556;
    letter-spacing:0;
  }
  .fdr-faq-grid {
    position:relative;
    display:grid;
    width:100%;
    grid-template-columns:min(38.38542vw,737px) min(38.85417vw,746px);
    gap:0;
    align-items:start;
    justify-content:start;
  }
  .fdr-faq .fdr-faq-art {
    position:absolute;
    top:calc(-1 * min(7.03125vw,135px));
    left:calc(-1 * min(5.36458vw,103px));
    width:min(43.38542vw,833px);
    height:auto;
    max-width:none;
    margin:0;
  }
  .fdr-faq .fdr-faq-items {
    grid-column:2;
    display:flex;
    flex-direction:column;
    gap:min(.46875vw,9px);
  }
  .fdr-faq .fdr-faq-item {
    width:100%;
    min-height:min(4.53125vw,87px);
    border:1px solid var(--fdr-line);
    border-radius:min(.88542vw,17px);
    background:#f8f6f5;
    overflow:hidden;
  }
  .fdr-faq .fdr-faq-item[open] {
    min-height:min(12.03125vw,231px);
  }
  .fdr-faq .fdr-faq-item summary {
    min-height:min(4.42708vw,85px);
    padding:0 min(1.04167vw,20px) 0 min(1.66667vw,32px);
    font-size:min(.9375vw,18px);
    font-weight:500;
    line-height:1.55556;
    color:#181818;
    gap:12px;
  }
  .fdr-faq .fdr-faq-item[open] summary {
    min-height:min(4.0625vw,78px);
  }
  .fdr-faq .fdr-faq-item summary span {
    width:min(2.08333vw,40px);
    min-width:min(2.08333vw,40px);
    height:min(2.08333vw,40px);
    background:#f1f0ed;
    border:0;
  }
  .fdr-faq .fdr-faq-item summary span::before {
    font-size:min(1.30208vw,25px);
    font-weight:300;
  }
  .fdr-faq .fdr-faq-answer {
    padding:0 min(2.86458vw,55px) min(1.04167vw,20px) min(1.66667vw,32px);
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.55556;
    color:#181818;
  }
}
@media (max-width:1450px) {
  /* Let the 833:883 transparent asset scale naturally on smaller screens. */
  .fdr-faq .fdr-faq-art {height:auto;}
  .fdr-faq .fdr-faq-item[open] {min-height:0;}
  .fdr-faq .fdr-faq-answer {line-height:1.55;}
}

/* FDR NEWS — Figma 1920 section calibration v1
   Sources: Figma text/geometry nodes 1:81, 1:98, 1:196, 1:100..106,
   1:82/92/94, 1:120..122, 1:130/132/133, 1:74..76.
   Source anchors: eyebrow y4107, heading y4154, lead y4225, cards y4294;
   media 518x402, complete card 518x677.
   Scope ONLY to news. Existing top wave/background remains unchanged.
   Desktop units scale to the actual CSS viewport up to Figma 1920.
*/
@media (min-width:1451px) {
  .fdr-news {
    /* Keep existing organic background shape and clip-path. */
    padding-top:min(8.07292vw,155px);
  }
  .fdr-news .fdr-heading {
    margin-bottom:min(2.13542vw,41px);
  }
  .fdr-news .fdr-eyebrow {
    font-size:min(.9375vw,18px);
    font-weight:500;
    line-height:1.22222;
    margin-bottom:min(1.30208vw,25px);
    letter-spacing:0;
  }
  .fdr-news .fdr-heading h2 {
    font-size:min(2.29167vw,44px);
    font-weight:500;
    line-height:1.590909;
    letter-spacing:0;
    margin:0;
  }
  .fdr-news .fdr-heading p {
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.555556;
    margin:0;
    letter-spacing:0;
  }
  .fdr-news .fdr-cards {
    gap:min(1.66667vw,32px);
  }
  .fdr-news .fdr-news-card {
    min-height:0;
    display:flex;
    flex-direction:column;
    border-radius:min(2.08333vw,40px);
  }
  .fdr-news .fdr-news-card .fdr-card-media {
    flex:0 0 auto;
    width:100%;
    height:auto;
    aspect-ratio:518 / 402;
    border-radius:min(2.08333vw,40px);
  }
  .fdr-news .fdr-news-card .fdr-card-media img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .fdr-news .fdr-news-card .fdr-card-body {
    flex:1;
    display:flex;
    flex-direction:column;
    min-height:calc(min(14.32292vw,275px) - 2px);
    padding:min(1.51042vw,29px) min(1.51042vw,29px) min(1.5625vw,30px);
  }
  .fdr-news .fdr-news-card time {
    display:block;
    font-size:min(.72917vw,14px);
    line-height:1.214286;
    font-weight:500;
    letter-spacing:0;
    color:#263230;
  }
  .fdr-news .fdr-news-card h3 {
    width:100%;
    max-width:min(18.75vw,360px);
    min-height:calc(2 * min(1.614583vw,31px));
    margin-top:min(.72917vw,14px);
    font-size:min(1.45833vw,28px);
    line-height:1.107143;
    font-weight:500;
    letter-spacing:0;
  }
  .fdr-news .fdr-news-card p {
    width:100%;
    max-width:min(20.41667vw,392px);
    margin-top:min(1.45833vw,28px);
    min-height:0;
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.35;
    letter-spacing:0;
    color:#181818;
  }
  .fdr-news .fdr-news-card:nth-child(2) p {
    max-width:min(19.89583vw,382px);
  }
  .fdr-news .fdr-news-card:nth-child(3) p {
    max-width:min(23.90625vw,459px);
  }
  .fdr-news .fdr-news-card .fdr-card-body a {
    align-self:flex-start;
    margin-top:auto;
    padding-top:min(.520833vw,10px);
    font-size:min(.72917vw,14px);
    line-height:1.214286;
    font-weight:500;
    text-decoration:none;
  }
  .fdr-news .fdr-news-card .fdr-card-body a:hover,
  .fdr-news .fdr-news-card .fdr-card-body a:focus-visible {
    text-decoration:underline;
    text-underline-offset:4px;
  }
}
@media (max-width:1450px) {
  .fdr-news .fdr-news-card .fdr-card-media {
    height:auto;
    aspect-ratio:518 / 402;
  }
  .fdr-news .fdr-news-card .fdr-card-body {
    display:flex;
    flex:1;
    flex-direction:column;
  }
  .fdr-news .fdr-news-card .fdr-card-body a {
    margin-top:auto;
  }
}
/* FDR NEWS — original Figma vector wave; decoration only. This replaces the angular polygon mask without changing layout. */
.fdr-news {
  position:relative;
  background:transparent;
  clip-path:none;
  isolation:isolate;
}
.fdr-news-wave {
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none;
}
.fdr-news>.fdr-container {position:relative;z-index:1;}
/* FDR NEWS — viewport alignment after original SVG wave.
   Figma 1920px: reference matched using full-bleed inline wave
   (no intrinsic SVG letterboxing), and reduced inter-section whitespace.
   News cards, type sizes, FAQ and the other sections remain untouched. */
.fdr-news-wave {
  display:block;
  left:0;
  right:0;
  max-width:none;
  object-fit:fill;
}
@media (min-width:1451px) {
  .fdr-news { margin-top:clamp(-48px,-2.5vw,-36px); }
}

/* FDR BOOKING — Figma 1920 calibration v1
   Figma text/icon anchors measured from nodes 1:227,1:150,1:194,
   1:321/322,1:329/330,1:229. Scoped to booking only.
   The approved NEWS wave shape is not modified: booking extends
   under its transparent lower edge to eliminate the white seam.
*/
@media (min-width:1451px) {
  /* The previous section keeps its SVG; its transparent edge reveals the image below. */
  .fdr-news { z-index:2; }
  .fdr-booking {
    z-index:1;
    margin-top:-80px;
    padding-top:80px;
    min-height:760px;
    overflow:visible;
    background:#eee5d9;
    align-items:center;
  }
  .fdr-booking-image {
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    clip-path:none;
    background:#eee5d9;
  }
  .fdr-booking-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .fdr-booking-image::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(243,235,225,.99) 0%,
      rgba(243,235,225,.98) 29%,
      rgba(243,235,225,.75) 39%,
      rgba(243,235,225,0) 56%);
  }
  .fdr-booking-content {
    padding-top:74px;
    padding-bottom:70px;
  }
  .fdr-booking-content>div {
    width:min(27.083333vw,520px);
    max-width:100%;
  }
  .fdr-booking .fdr-eyebrow {
    margin:0 0 min(1.614583vw,31px);
    font-size:min(.9375vw,18px);
    line-height:1.222222;
    font-weight:500;
    letter-spacing:0;
  }
  .fdr-booking h2 {
    font-size:min(2.291667vw,44px);
    line-height:1.193182;
    font-weight:500;
    letter-spacing:0;
  }
  .fdr-booking p {
    max-width:100%;
    margin-top:min(1.25vw,24px);
    font-size:min(.9375vw,18px);
    font-weight:300;
    line-height:1.555556;
    letter-spacing:0;
    color:#243c39;
  }
  .fdr-booking-benefits {
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    gap:min(.833333vw,16px);
    margin:min(1.71875vw,33px) 0 min(2.552083vw,49px);
  }
  .fdr-booking-benefits>div {
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    flex:0 0 min(8.645833vw,166px);
    width:min(8.645833vw,166px);
    min-width:0;
    height:min(6.458333vw,124px);
    padding:min(.885417vw,17px) min(.416667vw,8px) min(.520833vw,10px);
    border-radius:min(1.041667vw,20px);
    background:rgba(246,241,235,.22);
    box-shadow:0 15px 22px rgba(0,0,0,.07);
    text-align:center;
    font-size:min(.833333vw,16px);
    font-weight:500;
    line-height:1.2;
  }
  .fdr-booking-benefits>div:nth-child(2) {
    flex-basis:min(11.40625vw,219px);
    width:min(11.40625vw,219px);
  }
  .fdr-booking-benefits .fdr-booking-benefit-icon {
    display:block;
    flex:none;
    width:auto;
    height:min(1.979167vw,38px);
    max-width:min(2.213542vw,42.5px);
    object-fit:contain;
    margin:0 auto min(.833333vw,16px);
  }
  .fdr-booking .fdr-button {
    display:inline-flex;
    width:min(13.697917vw,263px);
    height:min(2.8125vw,54px);
    min-height:0;
    padding:0;
    gap:min(.833333vw,16px);
    justify-content:center;
    align-items:center;
    border-width:2px;
    font-size:min(.833333vw,16px);
    font-weight:500;
    line-height:1.2;
  }
  .fdr-booking .fdr-button span {
    font-size:min(1.145833vw,22px);
    margin:0;
  }
}

/* NEVPIX CTA ALIGNMENT — shared rule and Figma News breathing room v1
 * Shared component principle: horizontally and vertically center the complete
 * label+icon group; the icon must have an explicit symmetric line box, never
 * inherit the font glyph's compressed .7 line-height.
 * The 1920px news measurements BELOW are project-only, not agent defaults.
 */
.fdr-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  line-height:1.2;
  vertical-align:middle;
}
.fdr-button>span[aria-hidden="true"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  flex:0 0 20px;
  width:20px;
  height:20px;
  line-height:1;
  font-size:20px;
  vertical-align:middle;
}
@media (min-width:1451px) {
  /* The approved news wave is preserved. Add space BELOW the CTA, without
     moving the booking section: the compensating overlap preserves the join. */
  .fdr-news {
    padding-bottom:145px;
  }
  .fdr-booking {
    margin-top:-150px;
  }
  .fdr-news .fdr-center .fdr-button {
    box-sizing:border-box;
    width:min(12.604167vw,242px);
    height:min(2.8125vw,54px);
    min-height:0;
    padding:0;
    border-width:2px;
    border-radius:40px;
    font-size:min(.729167vw,14px);
    font-weight:500;
    line-height:1.214286;
    letter-spacing:0;
    gap:min(1.041667vw,20px);
  }
  .fdr-news .fdr-center .fdr-button>span[aria-hidden="true"] {
    flex-basis:min(.9375vw,18px);
    width:min(.9375vw,18px);
    height:min(.9375vw,18px);
    font-size:min(1.041667vw,20px);
    line-height:1;
  }
}

/* FDR FOOTER — Figma 1920 reference calibration v1
   Section-only layout: Figma footer at y5834, height 515.
   Content x=150, divider x=670/1030/1368; headline y+95;
   logo y+70; menu y+154; lower rule y+444.
   Values below belong to this project, NOT to shared Nevpix Agent defaults.
   Preserve all other sections; no absolute positioning of dynamic footer text.
*/
.fdr-footer {background:#f6f1eb;}
@media (min-width:1451px) {
  .fdr-footer {
    min-height:515px;
    padding:70px 0 26px;
  }
  .fdr-footer-grid {
    display:grid;
    grid-template-columns:520fr 360fr 338fr 402fr;
    gap:0;
    height:365px;
    align-items:stretch;
  }
  .fdr-footer-grid>div {position:relative;min-width:0;}
  .fdr-footer-grid>div+div {
    border:0;
    padding:25px 0 0 32px;
  }
  .fdr-footer-grid>div+div::before {
    content:"";
    position:absolute;
    left:0;
    top:13px;
    width:1px;
    height:350px;
    background:var(--fdr-line);
    pointer-events:none;
  }
  .fdr-footer .fdr-footer-logo {
    width:186px;
    height:134px;
    max-width:100%;
    display:block;
    object-fit:contain;
    object-position:left top;
  }
  .fdr-footer-about p {
    width:min(19.947917vw,383px);
    max-width:100%;
    margin:28px 0 0!important;
    font-size:18px;
    font-weight:300;
    line-height:28px;
    letter-spacing:0;
    color:#181818;
  }
  .fdr-footer .fdr-social-icon {
    display:inline-flex;
    width:34px;
    height:34px;
    margin:54px 0 0 4px;
    padding:0;
    align-items:center;
    justify-content:center;
    line-height:1;
    vertical-align:top;
  }
  .fdr-footer .fdr-social-icon img {
    display:block;
    width:34px;
    height:34px;
  }
  .fdr-footer h2 {
    margin:0 0 24px!important;
    padding:0;
    font-size:18px;
    font-weight:500;
    line-height:22px;
    letter-spacing:0;
    color:var(--fdr-ink);
  }
  .fdr-footer-grid>div:nth-child(2)>a,
  .fdr-footer-grid>div:nth-child(3)>a {
    display:block;
    margin:0;
    padding:0;
    font-size:14px;
    font-weight:500;
    line-height:44px;
    color:#181818;
    letter-spacing:0;
    text-decoration:none;
  }
  .fdr-footer-grid>div:nth-child(2)>a:hover,
  .fdr-footer-grid>div:nth-child(3)>a:hover,
  .fdr-footer-grid>div:nth-child(2)>a:focus-visible,
  .fdr-footer-grid>div:nth-child(3)>a:focus-visible {
    text-decoration:underline;
    text-underline-offset:4px;
  }
  .fdr-footer .fdr-contact-item {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    column-gap:17px;
    min-height:44px;
    height:44px;
    margin:0;
    padding:0;
    font-size:14px;
    font-weight:500;
    line-height:1.35;
    color:#181818;
    white-space:nowrap;
    overflow-wrap:normal;
    text-decoration:none;
  }
  .fdr-footer .fdr-contact-item img {
    width:auto;
    max-width:30px;
    height:26px;
    object-fit:contain;
    object-position:left center;
    display:block;
  }
  .fdr-footer-contact .fdr-button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    width:183px;
    height:54px;
    min-height:0;
    margin-top:54px;
    padding:0;
    border:2px solid var(--fdr-ink);
    border-radius:40px;
    font-size:16px;
    font-weight:500;
    line-height:1.2;
    white-space:nowrap;
    color:var(--fdr-ink);
  }
  .fdr-footer-contact .fdr-button>span[aria-hidden="true"] {
    display:inline-flex;
    flex:0 0 18px;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    line-height:1;
    font-size:20px;
    color:inherit;
  }
  .fdr-footer-contact .fdr-button:hover,
  .fdr-footer-contact .fdr-button:focus-visible {
    color:#fff;
  }
  .fdr-legal {
    height:45px;
    margin-top:9px;
    padding:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid var(--fdr-line);
    gap:20px;
  }
  .fdr-legal span {
    font-size:12px;
    font-weight:500;
    line-height:44px;
    letter-spacing:0;
    color:#181818;
  }
}

/* FDR FOOTER — responsive reference typography 1920 v2
  Figma exact at 1920: headings/body 18px, navigation/contact 14px,
  button 16px, legal 12px. Scale fluidly from source artboard on smaller
  desktop CSS viewports; do not change branding assets or the layout grid.
  This is project-specific token mapping, not shared Agent font sizes.
*/
@media (min-width:1451px) {
  .fdr-footer h2 {
    font-size:min(.9375vw,18px);
    line-height:min(1.145833vw,22px);
  }
  .fdr-footer-about p {
    font-size:min(.9375vw,18px);
    line-height:min(1.458333vw,28px);
  }
  .fdr-footer-grid>div:nth-child(2)>a,
  .fdr-footer-grid>div:nth-child(3)>a {
    font-size:min(.729167vw,14px);
    line-height:min(2.291667vw,44px);
  }
  .fdr-footer .fdr-contact-item {
    font-size:min(.729167vw,14px);
    height:min(2.291667vw,44px);
    min-height:min(2.291667vw,44px);
  }
  .fdr-footer-contact .fdr-button {
    font-size:min(.833333vw,16px);
    line-height:1.2;
  }
  .fdr-legal span {
    font-size:min(.625vw,12px);
    line-height:min(2.291667vw,44px);
  }
}

/* NEVPIX SHARED OUTLINE CTA — uniform visual component v1
   ONE visual standard for pill CTAs throughout this project:
   unified 54px height, 2px border, identical filled hover/focus and
   a real inline SVG arrow centered with its label. Existing Figma-specific
   widths and typography remain controlled by each section.
   Reusable AGENT principle: same variant = same height/stroke/hover/centering.
*/
body.fdr-site :is(
  a.fdr-button,
  a.fdr-contact,
  .fdr-news .fdr-center a.fdr-button,
  .fdr-booking a.fdr-button,
  .fdr-footer-contact a.fdr-button,
  .fdr-header a.fdr-contact
) {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:54px;
  min-height:54px;
  padding:0 16px;
  border:2px solid var(--fdr-ink);
  border-radius:999px;
  line-height:1.2;
  text-align:center;
  vertical-align:middle;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
body.fdr-site :is(
  a.fdr-button,
  a.fdr-contact,
  .fdr-news .fdr-center a.fdr-button,
  .fdr-booking a.fdr-button,
  .fdr-footer-contact a.fdr-button,
  .fdr-header a.fdr-contact
):is(:hover,:focus-visible) {
  background-color:var(--fdr-ink);
  color:#fff;
  text-decoration:none;
  transform:translateY(-2px);
}
body.fdr-site a.fdr-button>.fdr-button-content {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:14px;
  max-width:100%;
  font-size:inherit;
  font-weight:inherit;
  line-height:1.2;
  white-space:nowrap;
}
body.fdr-site a.fdr-button>.fdr-button-content>.fdr-button-text {
  display:block;
  flex:0 1 auto;
  font-size:inherit;
  font-weight:inherit;
  line-height:1.2;
  margin:0;
  padding:0;
  text-decoration:none;
}
body.fdr-site a.fdr-button>.fdr-button-content>.fdr-button-icon {
  display:inline-flex;
  flex:0 0 20px;
  width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  font-size:inherit;
  line-height:1;
  margin:0;
  padding:0;
  color:inherit;
}
body.fdr-site .fdr-button-icon svg {
  display:block;
  width:20px;
  height:20px;
  flex:none;
  overflow:visible;
}
/* Footer links may underline on hover; the CTA is NOT a navigation text link. */
body.fdr-site .fdr-footer a.fdr-button:is(:hover,:focus-visible),
body.fdr-site .fdr-footer a.fdr-button:is(:hover,:focus-visible) .fdr-button-text {
  text-decoration:none;
}
/* Respect motion preference without changing normal hover consistency. */
@media (prefers-reduced-motion:reduce) {
  body.fdr-site a.fdr-button,
  body.fdr-site a.fdr-contact {
    transition:none!important;
  }
  body.fdr-site a.fdr-button:is(:hover,:focus-visible),
  body.fdr-site a.fdr-contact:is(:hover,:focus-visible) {
    transform:none;
  }
}
@media (max-width:767px) {
  body.fdr-site a.fdr-button,
  body.fdr-site a.fdr-contact {
    height:48px;
    min-height:48px;
    max-width:100%;
  }
  body.fdr-site a.fdr-button>.fdr-button-content {
    gap:10px;
  }
}
/* Preserve original compact-header behavior on narrow phones. */
@media (max-width:390px) {
  body.fdr-site .fdr-header a.fdr-contact {
    display:none!important;
  }
}