/*
 * GK-ODOO-WEB01 visual polish — website B only.
 * Loaded conditionally in website.layout after reference.css.
 * No selector targets the existing DaisanTiles website or Odoo backend.
 */
#wrapwrap .ref-home,
#wrapwrap .ref-header,
#wrapwrap .ref-footer {
  --ref-accent: #b59175;
  --ref-ink: #292723;
  --ref-muted: #77716c;
  --ref-ivory: #faf9f6;
  font-family: "Barlow", "Arial Narrow", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
#wrapwrap .ref-home h1,
#wrapwrap .ref-home h2,
#wrapwrap .ref-home h3 {
  font-family: "Playfair Display", "Times New Roman", Georgia, serif;
  font-weight: 400;
  letter-spacing: -.018em;
  color: var(--ref-ink);
}
#wrapwrap .ref-home { overflow-x: clip; }
#wrapwrap .ref-home *, #wrapwrap .ref-header *, #wrapwrap .ref-footer * { box-sizing: border-box; }
.ref-container { width: calc(100% - 80px); max-width: 1410px; }
#wrapwrap .ref-header {
  z-index: 1000;
  color: #fff;
  background: transparent;
  transition: background-color .32s ease, box-shadow .32s ease;
}
#wrapwrap .ref-header:not(.ref-header-home) { background: #211b17; }
#wrapwrap .ref-header.ref-header-home.ref-is-scrolled {
  position: fixed;
  top: 0;
  background: rgba(29, 26, 22, .94);
  box-shadow: 0 8px 25px rgba(0, 0, 0, .11);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
#wrapwrap .ref-header.ref-header-home:not(.ref-is-scrolled) {
  text-shadow: 0 1px 5px rgba(0, 0, 0, .24);
}
.ref-header-inner { min-height: 103px; padding: 11px 0 8px; align-items: flex-end; }
#wrapwrap .ref-logo {
  color: inherit;
  letter-spacing: .08em;
  font-size: 17px;
  font-weight: 600;
  gap: 4px;
  margin-bottom: 14px;
  transition: opacity .2s ease;
}
#wrapwrap .ref-logo span { font-weight: 300; }
#wrapwrap .ref-logo:hover { color: #fff; opacity: .85; }
.ref-header-top {
  font-size: 10px;
  letter-spacing: .12em;
  height: 32px;
  font-weight: 400;
  opacity: .94;
}
.ref-header-top a { transition: color .25s ease; }
.ref-header-top a:hover { color: #e0b894; }
.ref-nav {
  height: 53px;
  gap: clamp(11px, 1.2vw, 22px);
}
#wrapwrap .ref-nav > a,
#wrapwrap .ref-nav-products > a {
  position: relative;
  font-family: "Barlow", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.65;
  color: inherit;
  text-shadow: inherit;
  transition: color .23s ease;
}
#wrapwrap .ref-nav > a::after,
#wrapwrap .ref-nav-products > a::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--ref-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .27s ease;
}
#wrapwrap .ref-nav > a:hover::after,
#wrapwrap .ref-nav > a:focus-visible::after,
#wrapwrap .ref-nav-products:hover > a::after,
#wrapwrap .ref-nav-products:focus-within > a::after { transform: scaleX(1); }
#wrapwrap .ref-nav > a:hover,
#wrapwrap .ref-nav-products > a:hover { color: #f4ddc9; }
.ref-subnav {
  top: 100%;
  width: min(350px, 86vw);
  max-height: min(70vh, 600px);
  overflow-y: auto;
  border-top: 2px solid var(--ref-accent);
  padding: 10px 18px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .19);
}
#wrapwrap .ref-subnav a {
  font-size: 12px;
  text-shadow: none;
  color: #37312a;
  padding: 11px 8px;
  font-weight: 400;
  letter-spacing: .025em;
  transition: color .2s, padding-left .2s;
}
#wrapwrap .ref-subnav a:hover {
  color: #9e7555;
  padding-left: 15px;
  background: #faf8f5;
}
.ref-sub-toggle { display: none; }
#wrapwrap .ref-hero {
  background: #aaa195;
  height: 100svh;
  min-height: 610px;
  isolation: isolate;
  cursor: grab;
  touch-action: pan-y;
}
#wrapwrap .ref-hero.is-dragging { cursor: grabbing; }
.ref-slide {
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .85s ease, visibility 0s linear .85s;
  will-change: opacity;
}
.ref-slide.active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transition: opacity .85s ease, visibility 0s linear 0s;
}
.ref-hero-img {
  object-position: center 50%;
  transform: scale(1.04);
  transition: transform 8s ease-out;
  user-select: none;
  -webkit-user-drag: none;
}
.ref-slide.active .ref-hero-img { transform: scale(1); }
.ref-slide::after {
  background: linear-gradient(90deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.07) 52%, transparent 80%);
}
.ref-hero-text {
  left: max(9%, calc((100% - 1410px) / 2 + 45px));
  bottom: auto;
  top: 53%;
  transform: translateY(-50%);
  max-width: min(670px, 75%);
  text-align: left;
}
#wrapwrap .ref-hero h1 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  color: #fff;
  font-size: clamp(38px, 4.6vw, 68px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.016em;
  margin: 0 0 18px;
  text-transform: uppercase;
}
.ref-slide.active .ref-hero-text h1,
.ref-slide.active .ref-hero-text a {
  animation: ref-rise .9s both cubic-bezier(.22,1,.36,1);
}
.ref-slide.active .ref-hero-text a { animation-delay: .16s; }
@keyframes ref-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
#wrapwrap .ref-hero-text a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 0 8px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  border-bottom: 1px solid rgba(255,255,255,.75);
  color: #fff;
  text-decoration: none;
}
#wrapwrap .ref-hero-text a:hover { color: #fff; border-color: #fff; }
.ref-dots {
  z-index: 5;
  gap: 10px;
  bottom: clamp(19px, 3vh, 38px);
  pointer-events: none;
}
.ref-dots button {
  pointer-events: auto;
  width: 27px;
  height: 3px;
  border-radius: 0;
  background: rgba(255,255,255,.44);
  cursor: pointer;
  transition: background .25s ease, width .25s ease;
}
.ref-dots button.active, .ref-dots button[aria-current="true"] { width: 44px; background: #fff; }
.ref-dots button:focus-visible,
.ref-hero-actions button:focus-visible,
.ref-nav-toggle:focus-visible,
.ref-divider:focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 5px; }
.ref-hero-actions {
  position: absolute;
  inset: 50% 32px auto;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}
.ref-hero-actions button {
  pointer-events: auto;
  background: rgba(0,0,0,.12);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity .3s, transform .3s, background-color .3s;
}
.ref-hero:hover .ref-hero-actions button,
.ref-hero:focus-within .ref-hero-actions button { opacity: 1; transform: translateY(0); }
.ref-hero-actions button:hover { background: rgba(181,145,117,.85); }
.ref-hero-count {
  position: absolute;
  bottom: 23px;
  right: max(5%, calc((100% - 1410px) / 2));
  z-index: 5;
  color: #fff;
  font-size: 11px;
  letter-spacing: .15em;
}
.ref-icons { gap: 15px; padding: 50px 0 35px; }
.ref-icons a { font-family: "Barlow", Arial, sans-serif; font-size: 10px; font-weight: 500; }
.ref-icons a:hover b { color: var(--ref-accent); }
.ref-icon { height: 92px; }
.ref-icon svg { width: 72px; height: 66px; stroke: #55534e; fill: none; stroke-width: 1.4; transition: transform .4s ease, stroke .3s ease; }
.ref-icons a:hover svg { transform: translateY(-5px); stroke: var(--ref-accent); }
.ref-icon img + span { display: none; }
.ref-icon span { display: inline-flex; align-items: center; justify-content: center; }
.ref-icon span:has(svg) { font-size: inherit; }
#wrapwrap .ref-heading { margin-bottom: 35px; }
#wrapwrap .ref-heading small {
  font-family: "Barlow", Arial, sans-serif;
  color: var(--ref-accent);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
}
#wrapwrap .ref-heading h2 {
  font-size: clamp(26px, 2.4vw, 41px);
  line-height: 1.26;
  margin: 10px auto 13px;
  font-weight: 400;
  color: #292621;
}
#wrapwrap .ref-heading p {
  font-size: 13px;
  line-height: 1.85;
  color: #77716c;
}
.ref-products { padding-top: 22px; padding-bottom: 85px; }
.ref-cards { gap: 20px; }
.ref-photo { overflow: hidden; }
.ref-photo img,
.ref-double-part img,
.ref-case-items img,
.ref-news img {
  transform: scale(1);
  transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .65s ease;
}
.ref-card:hover .ref-photo img, .ref-card:focus-visible .ref-photo img,
.ref-double-part:hover img, .ref-double-part:focus-visible img { transform: scale(1.045); }
.ref-card { outline-offset: 4px; }
#wrapwrap .ref-card h3 { font-size: 17px; font-weight: 400; line-height: 1.35; margin: 14px 0 6px; }
.ref-card span { display: inline-block; letter-spacing: .11em; font-size: 10px; }
.ref-card:hover span { text-decoration: underline; text-underline-offset: 4px; }
.ref-double-part { min-height: 420px; overflow: hidden; }
.ref-double-part::after { transition: background .4s; }
.ref-double-part:hover::after { background: linear-gradient(transparent,rgba(0,0,0,.63)); }
#wrapwrap .ref-double-part h2 { font-size: clamp(22px,2.2vw,35px); }
.ref-world { padding: 75px 0; }
.ref-process { padding-bottom: 65px; }
.ref-process-row { gap: clamp(35px,5.5vw,85px); margin-bottom: 62px; }
.ref-process .ref-photo { aspect-ratio: 1.16; }
#wrapwrap .ref-process-text h2 {
  font-family: "Barlow", Arial, sans-serif;
  font-size: clamp(29px,3.2vw,48px);
  font-weight: 400;
  line-height: 1.18;
}
.ref-process-text a, .ref-cases-intro a, .ref-achievements-text a {
  display: inline-block;
  border-bottom: 1px solid currentColor;
  padding-bottom: 5px;
  text-decoration: none;
  transition: color .2s, letter-spacing .2s;
}
.ref-process-text a:hover, .ref-cases-intro a:hover, .ref-achievements-text a:hover { color: var(--ref-accent); letter-spacing: .08em; }
.ref-cases {
  grid-template-columns: minmax(0, 25%) minmax(0,1fr);
  gap: 26px;
}
.ref-case-items { min-width: 0; }
#wrapwrap .ref-cases-intro h2 { font-size: clamp(24px,2.5vw,34px); line-height: 1.3; }
.ref-compare {
  --compare: 50%;
  height: clamp(340px,42vw,710px);
  cursor: ew-resize;
  touch-action: pan-y;
}
.ref-compare-before, .ref-compare-after { pointer-events: none; }
.ref-compare-before img, .ref-compare-after img { user-select: none; -webkit-user-drag: none; }
.ref-divider { z-index: 3; width: 2px; box-shadow: 0 0 5px #0004; }
.ref-divider span {
  width: 46px;
  height: 46px;
  color: #555;
  font-size: 12px;
  background: #fff;
  box-shadow: 0 2px 15px #0003;
  transition: transform .22s, box-shadow .22s;
}
.ref-compare:hover .ref-divider span,
.ref-divider:focus-visible span { transform: translate(-50%,-50%) scale(1.08); box-shadow: 0 5px 19px #0004; }
.ref-services { padding: 85px 0; }
.ref-service-grid { gap: 38px; }
#wrapwrap .ref-service-grid h3 { font-family: "Barlow", Arial, sans-serif; font-size: 18px; font-weight: 500; }
.ref-achievements { min-height: 475px; overflow: hidden; }
.ref-achievements img { transition: transform 3s ease; }
.ref-achievements:hover img { transform: scale(1.035); }
#wrapwrap .ref-achievements h2 { color: #fff; font-size: clamp(32px,3.3vw,49px); }
.ref-news { padding: 85px 0; }
.ref-contact { padding: 75px 0 95px; }
.ref-form { column-gap: 32px; }
.ref-form input, .ref-form textarea {
  border-bottom: 1px solid #bdb8b0;
  border-radius: 0;
  font-family: "Barlow", Arial, sans-serif;
  transition: border-color .2s, box-shadow .2s;
}
.ref-form input:focus, .ref-form textarea:focus {
  outline: none;
  border-color: var(--ref-accent);
  box-shadow: 0 1px 0 var(--ref-accent);
}
.ref-form button { cursor: pointer; letter-spacing: .1em; transition: background-color .25s, transform .25s; }
.ref-form button:hover { background: #977257; transform: translateY(-2px); }
#wrapwrap .ref-footer { background: #1a1a1a; color: #fff; padding: 70px 0 18px; }
.ref-footer-grid { grid-template-columns: minmax(0,2.1fr) repeat(2,minmax(0,1fr)) minmax(0,1.4fr); gap: clamp(20px,4vw,80px); }
#wrapwrap .ref-footer h2 { color: #fff; font-family: "Barlow", Arial, sans-serif; font-size: 21px; letter-spacing: .06em; font-weight: 600; }
#wrapwrap .ref-footer h3 { color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .11em; }
#wrapwrap .ref-footer p, #wrapwrap .ref-footer a { color: #b6b0ab; font-size: 12px; line-height: 1.85; }
#wrapwrap .ref-footer a { transition: color .25s ease, padding-left .25s ease; }
#wrapwrap .ref-footer a:hover { color: #d5a984; padding-left: 3px; }
.ref-copyright { border-color: #393939; color: #8e8e8e; margin-top: 54px; }
@media (prefers-reduced-motion: no-preference) {
  .ref-home[data-ref-reveal-ready="1"] .ref-reveal:not(.ref-is-visible) {
    opacity: 0;
    transform: translateY(22px);
  }
  .ref-home[data-ref-reveal-ready="1"] .ref-reveal {
    transition: opacity .65s ease, transform .65s cubic-bezier(.21,.75,.2,1);
  }
}
@media (max-width: 1280px) {
  .ref-container { width: calc(100% - 56px); }
  .ref-nav { gap: 10px; }
  #wrapwrap .ref-nav > a, #wrapwrap .ref-nav-products > a { font-size: 11px; letter-spacing: 0; }
  .ref-header-inner { gap: 20px; }
  .ref-hero-text { left: 7.5%; }
  .ref-process-row { gap: 36px; }
}
@media (max-width: 1000px) {
  #wrapwrap .ref-header { position: absolute; left:0; top:0; width:100%; }
  #wrapwrap .ref-header:not(.ref-header-home) { position: relative; }
  #wrapwrap .ref-header.ref-header-home.ref-is-scrolled { position: fixed; }
  .ref-header-inner { min-height: 76px; padding: 0; align-items: center; }
  #wrapwrap .ref-logo { font-size: 16px; margin: 0; }
  .ref-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    font-size: 26px;
    cursor: pointer;
    z-index: 2;
  }
  .ref-header-content {
    position: fixed;
    top: 76px;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #211b17;
    padding: 23px max(24px,5vw) 85px;
    box-shadow: 0 16px 35px #0003;
    max-height: calc(100dvh - 76px);
  }
  .ref-header-content.open { display: block; }
  #wrapwrap .ref-nav { height:auto; flex-direction: column; align-items: stretch; gap: 0; }
  #wrapwrap .ref-nav > a, #wrapwrap .ref-nav-products > a {
    display: block;
    font-size: 15px;
    color: #fff;
    padding: 14px 2px;
    border-bottom: 1px solid rgba(255,255,255,.15);
  }
  #wrapwrap .ref-nav a::after { display: none; }
  .ref-nav-products { width:100%; display: flex; flex-wrap: wrap; align-items: stretch; height:auto; }
  .ref-nav-products > a { flex:1; }
  .ref-sub-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.15);
    background:transparent;
    color:#fff;
    font-size: 24px;
    cursor:pointer;
  }
  .ref-subnav {
    position: static;
    display: none;
    width:100%;
    max-height:none;
    flex-basis:100%;
    border:0;
    padding: 8px 16px;
    box-shadow:none;
    background:#302923;
  }
  .ref-nav-products.is-open .ref-subnav { display:block; }
  #wrapwrap .ref-subnav a { color:#eae2dc; border-color:#51463d; }
  #wrapwrap .ref-subnav a:hover { background:#3c3028; color:#ecc4a5; }
  body.ref-menu-open { overflow:hidden; }
  .ref-hero { min-height:580px; }
  .ref-hero-text { top:53%; }
  .ref-hero-actions button { opacity:1; transform:none; }
  .ref-cases { grid-template-columns:1fr; gap:26px; }
  .ref-case-items { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ref-process-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width: 768px) {
  .ref-container { width: calc(100% - 36px); }
  #wrapwrap .ref-hero { height: 76svh; min-height: 500px; }
  .ref-hero-text { left: 8%; max-width: 82%; top: 56%; }
  #wrapwrap .ref-hero h1 { font-size: clamp(31px,7vw,48px); }
  .ref-hero-actions { inset-inline: 10px; }
  .ref-hero-actions button { width: 37px; height: 37px; }
  .ref-hero-count { right: 25px; bottom: 22px; }
  .ref-icons { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding: 35px 0 20px; }
  .ref-icon { height:70px; }
  .ref-icon svg { width:50px; height:50px; }
  .ref-icons a { font-size:9px; }
  .ref-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ref-cards { gap:20px 12px; }
  .ref-products { padding-bottom: 55px; }
  .ref-double { grid-template-columns:1fr; }
  .ref-double-part { min-height:260px; }
  .ref-process-row { grid-template-columns:1fr; gap:25px; }
  .ref-process-row:nth-child(even) .ref-photo { order:0; }
  .ref-cases { padding: 45px 0; }
  .ref-case-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-services { padding:55px 0; }
  .ref-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .ref-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:33px; }
  .ref-footer-grid>div:first-child { grid-column:1/-1; }
  .ref-contact { padding:50px 0 65px; }
}
@media (max-width: 480px) {
  .ref-container { width: calc(100% - 30px); }
  .ref-header-inner { min-height:66px; }
  .ref-header-content { top:66px; max-height:calc(100dvh - 66px); }
  #wrapwrap .ref-logo { font-size:14px; letter-spacing:.05em; }
  .ref-nav-toggle { width:42px; height:42px; }
  #wrapwrap .ref-hero { height: min(78svh, 650px); min-height: 430px; }
  .ref-hero-text { top:57%; max-width: 80%; }
  #wrapwrap .ref-hero h1 { font-size:clamp(28px,7.5vw,38px); }
  .ref-hero-text a { font-size:10px; }
  .ref-hero-actions { inset-inline:7px; }
  .ref-hero-actions button { width:34px; height:34px; opacity:.82; }
  .ref-dots { bottom:21px; }
  .ref-hero-count { right:17px; font-size:9px; }
  .ref-icons { grid-template-columns: repeat(2,minmax(0,1fr)); gap:6px 12px; }
  #wrapwrap .ref-heading h2 { font-size:clamp(24px,7vw,32px); }
  .ref-photo { aspect-ratio: 1.13; }
  .ref-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-card h3 { font-size: 14px !important; }
  .ref-double-part { min-height:225px; padding:23px; }
  .ref-process-row { margin-bottom:44px; }
  .ref-process .ref-photo { aspect-ratio:1; }
  .ref-services .ref-service-grid { grid-template-columns:1fr; gap:16px; }
  .ref-compare { height: 310px; }
  #wrapwrap .ref-footer { padding:48px 0 18px; }
  .ref-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap:24px 15px; }
  .ref-footer-grid>div:first-child { grid-column:1/-1; }
  .ref-footer p, .ref-footer a { overflow-wrap:anywhere; }
  .ref-form { gap:20px; }
  .ref-form label, .ref-form .ref-full { grid-column:1/-1; }
}
@media (prefers-reduced-motion: reduce) {
  .ref-slide,.ref-hero-img,.ref-photo img,.ref-card,.ref-hero-text>*,
  .ref-header,.ref-divider span { transition:none !important; animation:none !important; }
}


/* ---------------------------------------------------------------
   GK-ODOO-WEB01: fix real screenshot regressions in 2 homepage
   sections. The original reference.css accidentally overrode
   absolute hero/banner image positioning with "position:relative".
   Scope every selector to website B's .ref-home.
   --------------------------------------------------------------- */
#wrapwrap .ref-home .ref-double {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  padding: 0;
  align-items: stretch;
}
#wrapwrap .ref-home .ref-double-part {
  position: relative;
  display: block;
  min-width: 0;
  min-height: clamp(330px, 32vw, 550px);
  isolation: isolate;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  text-decoration: none;
  color: #fff;
}
#wrapwrap .ref-home .ref-double-part > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}
#wrapwrap .ref-home .ref-double-part::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top,
    rgba(0,0,0,.49) 0%,
    rgba(0,0,0,.14) 44%,
    rgba(0,0,0,.03) 100%);
}
#wrapwrap .ref-home .ref-double-part > h2 {
  position: absolute;
  z-index: 2;
  left: clamp(18px, 3vw, 65px);
  right: clamp(18px, 3vw, 65px);
  bottom: clamp(20px, 3vw, 48px);
  width: auto;
  margin: 0;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 2.5vw, 36px);
  line-height: 1.25;
  font-weight: 400;
  text-shadow: 0 2px 9px rgba(0,0,0,.25);
  pointer-events: none;
}
#wrapwrap .ref-home .ref-double-part:focus-visible {
  outline: 3px solid #b59175;
  outline-offset: -4px;
}
#wrapwrap .ref-home .ref-double-part:hover > img {
  transform: scale(1.045);
}
#wrapwrap .ref-home .ref-achievements {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: clamp(350px, 32vw, 540px);
  overflow: hidden;
  isolation: isolate;
  background-position: center;
  background-size: cover;
}
#wrapwrap .ref-home .ref-achievements > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
}
#wrapwrap .ref-home .ref-achievements::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to right,
    rgba(0,0,0,.60) 0%,
    rgba(0,0,0,.32) 56%,
    rgba(0,0,0,.10) 100%);
}
#wrapwrap .ref-home .ref-achievements-text {
  position: relative;
  z-index: 2;
  display: block;
  width: min(calc(100% - 80px), 1170px);
  max-width: 1170px;
  min-width: 0;
  margin: auto;
  color: #fff;
}
#wrapwrap .ref-home .ref-achievements-text h2 {
  max-width: 900px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 50px);
  line-height: 1.22;
  margin: 13px 0;
  text-shadow: 0 1px 8px rgba(0,0,0,.25);
}
#wrapwrap .ref-home .ref-achievements-text small,
#wrapwrap .ref-home .ref-achievements-text p,
#wrapwrap .ref-home .ref-achievements-text a {
  color: #fff;
}
@media (max-width: 768px) {
  #wrapwrap .ref-home .ref-double {
    grid-template-columns: minmax(0, 1fr);
  }
  #wrapwrap .ref-home .ref-double-part {
    min-height: clamp(250px, 55vw, 370px);
  }
  #wrapwrap .ref-home .ref-double-part > h2 {
    font-size: clamp(23px, 4vw, 31px);
  }
  #wrapwrap .ref-home .ref-achievements {
    min-height: 380px;
  }
  #wrapwrap .ref-home .ref-achievements-text {
    width: calc(100% - 48px);
  }
  #wrapwrap .ref-home .ref-achievements-text h2 {
    font-size: clamp(29px, 5.5vw, 39px);
  }
}
@media (max-width: 480px) {
  #wrapwrap .ref-home .ref-double-part {
    min-height: 265px;
  }
  #wrapwrap .ref-home .ref-double-part > h2 {
    left: 20px;
    right: 20px;
    bottom: 22px;
    font-size: 25px;
  }
  #wrapwrap .ref-home .ref-achievements {
    min-height: 340px;
  }
  #wrapwrap .ref-home .ref-achievements-text {
    width: calc(100% - 32px);
  }
  #wrapwrap .ref-home .ref-achievements-text h2 {
    font-size: 30px;
  }
}


/* GK-ODOO-WEB01 / header/footer readable v19.0.0.6.2 */
#wrapwrap .ref-header .ref-header-inner { min-height: 114px; }
#wrapwrap .ref-header .ref-logo { font-size: 23px; letter-spacing: .065em; font-weight: 650; }
#wrapwrap .ref-header .ref-header-top { font-size: 13px; height: 46px; letter-spacing: .06em; gap: 20px; }
#wrapwrap .ref-header .ref-nav { height: 58px; gap: clamp(12px, 1.15vw, 22px); }
#wrapwrap .ref-header .ref-nav > a,
#wrapwrap .ref-header .ref-nav-products > a { font-size: 14px; font-weight: 550; letter-spacing: .015em; }
#wrapwrap .ref-header .ref-subnav a { font-size: 14px; }
.ref-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
#wrapwrap .ref-header-search { display: flex; align-items: center; width: min(370px, 42%); height: 36px; border: 1px solid rgba(255,255,255,.65); background: rgba(0,0,0,.12); border-radius: 2px; text-shadow:none; }
#wrapwrap .ref-header-search input { min-width: 0; flex: 1; width: 100%; height: 100%; padding: 0 11px; background: transparent; border: 0; outline: 0; color: #fff; font-size: 13px; }
#wrapwrap .ref-header-search input::placeholder { color: rgba(255,255,255,.8); }
#wrapwrap .ref-header-search button { height: 100%; padding: 0 13px; border: 0; border-left: 1px solid rgba(255,255,255,.35); color: #fff; background: transparent; font-size: 13px; cursor: pointer; white-space: nowrap; }
#wrapwrap .ref-header-search button:hover { background: rgba(181,145,117,.55); }
#wrapwrap .ref-header-search:focus-within { border-color: #f4d4ae; box-shadow: 0 0 0 2px rgba(181,145,117,.2); }
#wrapwrap .ref-footer { padding-top: 83px; }
#wrapwrap .ref-footer-grid { grid-template-columns: minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr); gap: clamp(26px,4vw,68px); }
#wrapwrap .ref-footer-grid > div { gap: 14px; min-width:0; }
#wrapwrap .ref-footer h2 { font-size: 31px; line-height: 1.2; letter-spacing: .06em; margin: 0 0 12px; }
#wrapwrap .ref-footer h3 { font-size: 16px; line-height: 1.4; letter-spacing: .065em; margin-bottom: 10px; }
#wrapwrap .ref-footer p,#wrapwrap .ref-footer a { font-size: 14px; line-height: 1.8; }
#wrapwrap .ref-footer-about p { max-width: 365px; }
#wrapwrap .ref-footer .ref-footer-cta { display:inline-block; color:#e2c1a0; padding-bottom:5px; border-bottom:1px solid #9a7b64; letter-spacing:.04em; font-weight:600; margin-top:8px; }
#wrapwrap .ref-footer-bottom { padding-top: 25px; margin-top: 58px; border-top:1px solid #3d3a37; display:flex; align-items:center; justify-content:space-between; gap: 20px; color:#d5d0c9; font-size: 13px; }
#wrapwrap .ref-footer-bottom a { color:#d5d0c9; text-decoration:none; }
#wrapwrap .ref-copyright { margin-top: 25px; padding-top:15px; font-size:12px; }
@media (max-width: 1280px) {
  #wrapwrap .ref-header .ref-nav > a,#wrapwrap .ref-header .ref-nav-products > a { font-size:12px; }
  #wrapwrap .ref-header .ref-logo { font-size:20px; }
  #wrapwrap .ref-footer-grid { gap:24px; }
}
@media (max-width: 1000px) {
  #wrapwrap .ref-header .ref-header-inner { min-height:76px; }
  #wrapwrap .ref-header .ref-logo { font-size:20px; }
  #wrapwrap .ref-header .ref-header-top { display:flex; height:auto; padding:0 0 18px; align-items:stretch; flex-direction:column; gap:12px; }
  #wrapwrap .ref-header .ref-header-top span { display:block; font-size:12px; }
  #wrapwrap .ref-header-search { width:100%; height:43px; max-width:none; }
  #wrapwrap .ref-header .ref-nav { height:auto; gap:0; }
  #wrapwrap .ref-header .ref-nav > a,#wrapwrap .ref-header .ref-nav-products > a { font-size:16px; }
  #wrapwrap .ref-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
}
@media (max-width: 480px) {
  #wrapwrap .ref-header .ref-header-inner { min-height:66px; }
  #wrapwrap .ref-header .ref-logo { font-size:17px; }
  #wrapwrap .ref-header-search button span { display:none; }
  #wrapwrap .ref-footer { padding-top:52px; }
  #wrapwrap .ref-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
  #wrapwrap .ref-footer-grid > div:first-child, #wrapwrap .ref-footer-grid > div:last-child { grid-column:1/-1; }
  #wrapwrap .ref-footer h2 { font-size:28px; }
  #wrapwrap .ref-footer h3 { font-size:15px; }
  #wrapwrap .ref-footer p,#wrapwrap .ref-footer a { font-size:13px; }
  #wrapwrap .ref-footer-bottom { flex-wrap:wrap; font-size:12px; }
}


/* GK-ODOO-WEB01 — HEADER + FOOTER TYPE SCALE (v19.0.0.6.4)
 * Intentionally scoped: this stylesheet is linked only on the Medici website.
 * Menu text is larger at full desktop width, then scales to avoid collisions.
 */
#wrapwrap .ref-header .ref-header-inner {
  min-height: 128px;
  gap: clamp(20px, 2.2vw, 36px);
}
#wrapwrap .ref-header .ref-logo {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: .035em;
  margin-bottom: 13px;
}
#wrapwrap .ref-header .ref-header-top {
  height: 55px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .018em;
}
#wrapwrap .ref-header .ref-header-top > span {
  font-size: inherit;
  line-height: 1.4;
}
#wrapwrap .ref-header .ref-nav {
  min-height: 64px;
  height: auto;
  gap: clamp(10px, 1.1vw, 19px);
}
#wrapwrap .ref-header .ref-nav > a,
#wrapwrap .ref-header .ref-nav-products > a {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
#wrapwrap .ref-header .ref-subnav a {
  font-size: 17px;
  line-height: 1.55;
}
#wrapwrap .ref-header-search {
  min-height: 43px;
  height: 43px;
  width: min(410px, 43%);
}
#wrapwrap .ref-header-search input,
#wrapwrap .ref-header-search button {
  font-size: 16px;
}
#wrapwrap .ref-header-search input { padding-inline: 14px; }
#wrapwrap .ref-header-search button { padding-inline: 16px; }
#wrapwrap .ref-footer {
  padding-top: 92px;
}
#wrapwrap .ref-footer-grid { gap: clamp(24px, 3.2vw, 54px); }
#wrapwrap .ref-footer-grid > div {
  gap: 17px;
}
#wrapwrap .ref-footer h2 {
  font-size: 42px;
  line-height: 1.16;
  font-weight: 700;
  margin-bottom: 15px;
}
#wrapwrap .ref-footer h3 {
  font-size: 21px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: 14px;
}
#wrapwrap .ref-footer p,
#wrapwrap .ref-footer a {
  font-size: 17px;
  line-height: 1.8;
}
#wrapwrap .ref-footer .ref-footer-cta {
  font-size: 17px;
}
#wrapwrap .ref-footer-bottom {
  margin-top: 65px;
  font-size: 16px;
}
#wrapwrap .ref-footer-bottom span,
#wrapwrap .ref-footer-bottom a {
  font-size: 16px;
}
#wrapwrap .ref-copyright { font-size: 15px; }

@media (max-width: 1440px) and (min-width: 1281px) {
  #wrapwrap .ref-header .ref-logo { font-size: 28px; }
  #wrapwrap .ref-header .ref-nav > a,
  #wrapwrap .ref-header .ref-nav-products > a { font-size: 16.5px; }
  #wrapwrap .ref-header .ref-nav { gap: 12px; }
}
@media (max-width: 1280px) {
  #wrapwrap .ref-header .ref-header-inner { min-height: 114px; gap: 14px; }
  #wrapwrap .ref-header .ref-logo { font-size: 24px; }
  #wrapwrap .ref-header .ref-header-top { font-size: 15px; height: 49px; }
  #wrapwrap .ref-header .ref-nav { min-height: 57px; gap: 9px; }
  #wrapwrap .ref-header .ref-nav > a,
  #wrapwrap .ref-header .ref-nav-products > a {
    font-size: clamp(13px, 1.18vw, 15.5px);
    font-weight: 600;
  }
  #wrapwrap .ref-header .ref-subnav a { font-size: 16px; }
  #wrapwrap .ref-footer h2 { font-size: 37px; }
  #wrapwrap .ref-footer h3 { font-size: 19px; }
  #wrapwrap .ref-footer p,
  #wrapwrap .ref-footer a { font-size: 16px; }
}
@media (max-width: 1000px) {
  #wrapwrap .ref-header .ref-header-inner { min-height: 76px; align-items: center; }
  #wrapwrap .ref-header .ref-logo { font-size: 25px; line-height: 1; margin: 0; }
  #wrapwrap .ref-header .ref-header-top {
    height: auto;
    font-size: 15px;
    padding-bottom: 20px;
  }
  #wrapwrap .ref-header .ref-nav {
    min-height: 0;
    height: auto;
    gap: 0;
  }
  #wrapwrap .ref-header .ref-nav > a,
  #wrapwrap .ref-header .ref-nav-products > a {
    font-size: 20px;
    line-height: 1.45;
    padding-block: 15px;
  }
  #wrapwrap .ref-header .ref-subnav a { font-size: 18px; }
  #wrapwrap .ref-header-search { width: 100%; max-width: none; }
  #wrapwrap .ref-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  #wrapwrap .ref-header .ref-header-inner { min-height: 66px; }
  #wrapwrap .ref-header .ref-logo { font-size: 22px; }
  #wrapwrap .ref-header .ref-header-top { font-size: 14px; }
  #wrapwrap .ref-header .ref-nav > a,
  #wrapwrap .ref-header .ref-nav-products > a { font-size: 19px; }
  #wrapwrap .ref-header .ref-subnav a { font-size: 17px; }
  #wrapwrap .ref-header-search input,
  #wrapwrap .ref-header-search button { font-size: 16px; }
  #wrapwrap .ref-footer { padding-top: 58px; }
  #wrapwrap .ref-footer-grid { gap: 27px 18px; }
  #wrapwrap .ref-footer h2 { font-size: 36px; }
  #wrapwrap .ref-footer h3 { font-size: 18px; }
  #wrapwrap .ref-footer p,
  #wrapwrap .ref-footer a { font-size: 16px; line-height: 1.7; }
  #wrapwrap .ref-footer-bottom span,
  #wrapwrap .ref-footer-bottom a { font-size: 14px; }
  #wrapwrap .ref-copyright { font-size: 13px; }
}
