@import url('https://fonts.googleapis.com/css2?family=GFS+Didot&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--green:#2F3B2F;--ivory:#F8F5EE;--sage:#7E8F6E;--gold:#A47C4A;--blue:#2A4E6B;--text:#263126;--soft:#6D6A5F;--line:rgba(47,59,47,.14);--white:#fff;--shadow:0 22px 55px rgba(38,49,38,.10);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--text);background:var(--ivory);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.narrow{width:min(780px,calc(100% - 40px))}.text-center{text-align:center}.skip-link{position:absolute;left:-999px;top:8px;background:var(--green);color:var(--ivory);padding:10px 14px;z-index:9999}.skip-link:focus{left:8px}
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;padding:18px 0;transition:background .25s ease,box-shadow .25s ease,padding .25s ease}.site-header.is-scrolled{background:rgba(248,245,238,.94);backdrop-filter:blur(12px);box-shadow:0 14px 35px rgba(38,49,38,.08);padding:10px 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-horizontal img{width:260px;height:auto;mix-blend-mode:multiply}.main-nav{display:flex;align-items:center;gap:24px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}.main-nav a[aria-current=page]{color:var(--gold)}.language-link{border-left:1px solid var(--line);padding-left:22px}.nav-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:28px;height:2px;background:var(--green);margin:6px 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--green);background:var(--green);color:var(--ivory);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px);background:var(--gold);border-color:var(--gold);color:var(--ivory)}.button-small{min-height:42px;padding:0 18px}.button-outline{background:transparent;color:var(--green)}.button-outline-light{background:rgba(248,245,238,.06);border-color:rgba(248,245,238,.72);color:var(--ivory)}.button-outline-light:hover,.button-light{background:var(--ivory);border-color:var(--ivory);color:var(--green)}.button-light:hover{background:var(--gold);border-color:var(--gold);color:var(--ivory)}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.button-row.centered{justify-content:center}
.section{padding:96px 0}.section-full{min-height:100vh}.hero{position:relative;display:grid;align-items:center;color:var(--ivory);overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background-image:url("../images/home/hero.jpg");background-size:cover;background-position:center;transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,rgba(38,49,38,.72) 0%,rgba(38,49,38,.48) 44%,rgba(38,49,38,.14) 100%),linear-gradient(0deg,rgba(38,49,38,.34),rgba(38,49,38,.05))}.hero-content{position:relative;z-index:2;padding-top:110px}.hero h1{max-width:780px;margin:0;font-family:var(--serif);font-size:clamp(52px,8vw,112px);line-height:1;letter-spacing:.01em;font-weight:400}.hero-text{max-width:620px;margin:22px 0 0;font-size:clamp(17px,2vw,21px);color:rgba(248,245,238,.9)}
.page-hero{padding:170px 0 92px;background:radial-gradient(circle at 12% 18%,rgba(164,124,74,.13),transparent 28%),radial-gradient(circle at 82% 64%,rgba(126,143,110,.20),transparent 30%),linear-gradient(135deg,#F8F5EE 0%,#EEE7D8 100%)}.page-hero h1{margin:0 0 22px;font-family:var(--serif);font-weight:400;color:var(--green);font-size:clamp(52px,8vw,98px);line-height:1.02}.page-hero p:last-child{margin:0 auto;max-width:700px;font-size:clamp(18px,2.2vw,23px);color:var(--soft)}
.eyebrow{margin:0 0 14px;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero .eyebrow{color:rgba(248,245,238,.82)}.section-mark{color:var(--gold);font-size:26px;margin:0 0 12px}h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;color:var(--green)}h2{font-size:clamp(38px,5vw,64px);margin:0 0 24px}h3{font-size:28px;margin:0 0 12px}p{margin:0 0 18px}.welcome p:not(.section-mark),.narrow p,.content-block p{font-size:18px;color:var(--soft)}.section-soft{background:#F2EDE4}.section-heading{max-width:760px;margin-bottom:42px}.section-heading.text-center{margin-left:auto;margin-right:auto}.section-heading p:not(.eyebrow){color:var(--soft);font-size:17px}.section-action{text-align:center;margin-top:42px}
.card-grid{display:grid;gap:24px}.studio-grid{grid-template-columns:repeat(4,1fr)}.image-card{background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow)}.image-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:26px}.card-body p{color:var(--soft);font-size:15px}.card-body a,.info-card a{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.split-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.split-layout>div:first-child p:not(.eyebrow){color:var(--soft);font-size:17px}.rounded-image{box-shadow:var(--shadow);border:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature-grid-wide{grid-template-columns:repeat(5,1fr)}.feature-card{background:rgba(255,255,255,.46);border:1px solid var(--line);padding:24px;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center}.feature-card .icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(164,124,74,.4);color:var(--gold);margin-bottom:18px}.feature-card svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.feature-card h3{font-size:24px}.feature-card p{color:var(--soft);font-size:15px;margin-bottom:0}
.info-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.info-card{background:var(--ivory);border:1px solid var(--line);padding:34px;box-shadow:var(--shadow)}.info-card p,.info-card li{color:var(--soft)}.info-card ul{padding-left:18px;margin:18px 0 22px}.section-blue{background:var(--blue);color:var(--ivory)}.section-blue h2{color:var(--ivory)}.section-blue .section-heading p:not(.eyebrow){color:rgba(248,245,238,.82)}.pill-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:900px;margin:0 auto}.pill-grid span{border:1px solid rgba(248,245,238,.28);padding:12px 18px;color:rgba(248,245,238,.9);letter-spacing:.06em}
.gallery-mosaic{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:250px 250px;gap:18px}.gallery-mosaic img,.mini-gallery img{width:100%;height:100%;object-fit:cover}.gallery-main{grid-row:span 2}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-gallery img{aspect-ratio:4/3}.detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.detail-panel{background:var(--ivory);border:1px solid var(--line);padding:36px;box-shadow:var(--shadow)}.clean-list,.two-column-list{padding-left:0;list-style:none;margin:0}.clean-list li,.two-column-list li{border-bottom:1px solid var(--line);padding:10px 0;color:var(--soft)}.two-column-list{column-count:2;column-gap:34px}.large-list li{font-size:18px}.content-stack{display:grid;gap:34px}.content-block{background:rgba(255,255,255,.42);border:1px solid var(--line);padding:clamp(28px,4vw,48px)}.content-block h2{font-size:clamp(34px,4vw,52px)}.notice-box{background:var(--green);color:rgba(248,245,238,.86);padding:clamp(28px,5vw,50px);margin-bottom:56px}.notice-box h2{color:var(--ivory)}
.contact-panel{margin-top:28px;padding:26px;border:1px solid var(--line);background:rgba(255,255,255,.5)}.inquiry-form{background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(26px,4vw,42px)}.inquiry-form label{display:grid;gap:8px;margin-bottom:16px;color:var(--green);font-weight:700}.inquiry-form label span{color:var(--gold)}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid rgba(47,59,47,.22);background:#fffaf0;padding:13px 14px;font:inherit;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note,.form-status{color:var(--soft);font-size:14px}.form-status{margin-top:16px}
.final-cta{background:linear-gradient(rgba(248,245,238,.92),rgba(248,245,238,.92)),radial-gradient(circle at 20% 30%,rgba(164,124,74,.18),transparent 34%),radial-gradient(circle at 90% 70%,rgba(126,143,110,.22),transparent 30%)}.final-cta p{color:var(--soft);font-size:17px}.contact-line{margin-top:24px;font-size:15px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.contact-line a{white-space:nowrap}.site-footer{background:var(--green);color:rgba(248,245,238,.82);padding:72px 0 26px}.site-footer a:hover{color:var(--ivory)}.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .85fr;gap:56px}.footer-logo{width:210px;margin-bottom:20px}.site-footer h2{color:var(--ivory);font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}.footer-nav{display:grid;gap:8px}.social-block{margin-top:26px}.social-links{display:flex;gap:12px;margin-bottom:20px}.social-links a{width:38px;height:38px;border:1px solid rgba(248,245,238,.22);display:inline-flex;align-items:center;justify-content:center;color:rgba(248,245,238,.86)}.social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.review-link{margin-top:6px}.footer-bottom{border-top:1px solid rgba(248,245,238,.16);margin-top:52px;padding-top:24px;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;font-size:13px;color:rgba(248,245,238,.62)}.footer-bottom p{margin:0}.company-line{text-align:center}
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:999;background:var(--green);color:var(--ivory);border:1px solid rgba(248,245,238,.16);box-shadow:0 20px 60px rgba(0,0,0,.22);padding:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.cookie-banner p{margin:0 0 6px}.cookie-banner p:last-child{margin-bottom:0;color:rgba(248,245,238,.78);font-size:14px}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .button{background:rgba(248,245,238,.06);border-color:rgba(248,245,238,.72);color:var(--ivory)}.cookie-actions .button:hover{background:var(--ivory);border-color:var(--ivory);color:var(--green)}.cookie-banner[hidden]{display:none}
@media(max-width:1120px){.studio-grid,.feature-grid-wide{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.nav-toggle{display:block}.main-nav{position:fixed;top:86px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(248,245,238,.98);padding:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{padding:12px 6px}.language-link{border-left:0;padding-left:6px}.studio-grid,.split-layout,.footer-grid,.detail-grid,.info-card-grid{grid-template-columns:1fr}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-main{grid-column:span 2;grid-row:auto}.footer-bottom{grid-template-columns:1fr}.company-line{text-align:left}.cookie-banner{align-items:stretch;flex-direction:column}}@media(max-width:640px){.container,.narrow{width:min(100% - 28px,1180px)}.section{padding:72px 0}.page-hero{padding:138px 0 70px}.hero{min-height:86vh}.hero h1{letter-spacing:0}.brand-horizontal img{width:210px}.button-row{flex-direction:column;align-items:flex-start}.button-row.centered{align-items:stretch}.feature-grid,.gallery-mosaic,.mini-gallery,.form-row{grid-template-columns:1fr}.gallery-main{grid-column:auto}.two-column-list{column-count:1}.contact-line{flex-direction:column;gap:4px}.contact-line .separator{display:none}.cookie-actions{flex-direction:column}.footer-logo{width:190px}}@media(max-width:440px){.brand-horizontal img{width:178px}}


/* v0.3.1 mobile hero spacing fix */
.hero-content {
  padding-bottom: 72px;
}

@media (max-width: 640px) {
  .hero {
    min-height: auto;
  }

  .hero-content {
    padding-top: 138px;
    padding-bottom: 96px;
  }

  .hero .button-row {
    margin-bottom: 18px;
  }
}


/* v0.4 filtered studio galleries + estate mini gallery */
.estate-gallery{margin-top:46px}
.filter-gallery{margin-top:16px}
.gallery-filter-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.gallery-filter{border:1px solid rgba(47,59,47,.22);background:transparent;color:var(--green);min-height:42px;padding:0 16px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.gallery-filter:hover,.gallery-filter.is-active{background:var(--green);color:var(--ivory);border-color:var(--green);transform:translateY(-1px)}
.filtered-gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.filtered-gallery-grid button,.estate-gallery-grid button{display:block;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.filtered-gallery-grid img,.estate-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .28s ease}
.filtered-gallery-grid button:hover img,.estate-gallery-grid button:hover img{transform:scale(1.035)}
.estate-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(18,24,18,.92);display:grid;grid-template-rows:auto 1fr auto;padding:20px}
.lightbox[hidden]{display:none}
.lightbox-top{display:flex;justify-content:flex-end}
.lightbox-close,.lightbox-prev,.lightbox-next{border:1px solid rgba(248,245,238,.32);background:rgba(248,245,238,.08);color:var(--ivory);min-width:44px;min-height:44px;font-size:28px;cursor:pointer}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--ivory);color:var(--green)}
.lightbox-stage{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:0}
.lightbox-image-wrap{min-width:0;min-height:0;display:grid;place-items:center}
.lightbox-image{max-height:calc(100vh - 190px);max-width:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lightbox-caption{color:rgba(248,245,238,.86);text-align:center;margin:16px 0 0;font-size:15px}
@media(max-width:980px){.filtered-gallery-grid,.estate-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.filtered-gallery-grid,.estate-gallery-grid{grid-template-columns:1fr}.gallery-filter-buttons{display:grid;grid-template-columns:1fr}.lightbox{padding:12px}.lightbox-stage{grid-template-columns:1fr}.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);z-index:2}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-image{max-height:calc(100vh - 160px)}}


/* v0.5 refinements */
.gallery-group { margin-top: 70px; }
.gallery-group:first-of-type { margin-top: 0; }

.label-text { display: inline-block; }
.inquiry-form label { gap: 8px; }

.inquiry-fallback {
  margin-top: 24px;
  padding: 22px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.52);
}
.inquiry-fallback[hidden] { display: none; }
.inquiry-fallback h3 { font-size: 26px; }

.request-copy-box {
  width: 100%;
  min-height: 260px;
  resize: vertical;
  margin: 12px 0 16px;
  border: 1px solid rgba(47,59,47,.22);
  background: #fffaf0;
  padding: 14px;
  font: inherit;
  color: var(--text);
}

.location-card {
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.5);
}
.location-card p,
.contact-note,
.footer-note {
  color: var(--soft);
  font-size: 15px;
}

.lightbox-prev,
.lightbox-next,
.lightbox-close {
  opacity: 1;
  visibility: visible;
}
.lightbox-prev,
.lightbox-next { font-size: 34px; }

@media (max-width: 640px) {
  .lightbox-prev,
  .lightbox-next,
  .lightbox-close {
    background: rgba(248,245,238,.18);
    border-color: rgba(248,245,238,.42);
  }
}


/* v0.6 refinements */

/* Homepage Estate section: compact desktop 3 + 2 layout */
@media (min-width: 981px) {
  .estate-preview .split-layout {
    grid-template-columns: .82fr 1.38fr;
    gap: 54px;
    align-items: center;
  }

  .estate-preview .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
  }

  .estate-preview .feature-card {
    padding: 20px;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .estate-preview .feature-card h3 {
    font-size: 21px;
  }

  .estate-preview .feature-card p {
    font-size: 14px;
    line-height: 1.55;
  }

  .estate-preview .feature-card .icon {
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
  }
}

/* Universal gallery layout: 1 large + 4 small */
.featured-gallery-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 18px;
  margin-bottom: 38px;
}

.featured-gallery-main,
.featured-gallery-small {
  margin: 0;
}

.featured-gallery-main button,
.featured-gallery-small button {
  width: 100%;
  height: 100%;
}

.featured-gallery-main img,
.featured-gallery-small img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

.featured-gallery-main img {
  aspect-ratio: 4 / 3;
}

.featured-gallery-small-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.featured-gallery-small img {
  aspect-ratio: 4 / 3;
}

.studio-gallery-group {
  margin-top: 42px;
}

.studio-gallery-group:first-child {
  margin-top: 0;
}

.studio-gallery-title {
  font-family: var(--serif);
  color: var(--green);
  font-size: 30px;
  margin: 0 0 18px;
}

.filtered-gallery-grid,
.estate-gallery-grid {
  display: block;
}

.featured-gallery-layout button {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  overflow: hidden;
}

.featured-gallery-layout button:hover img {
  transform: scale(1.035);
}

/* Force mobile lightbox controls to be visible immediately */
.lightbox-prev,
.lightbox-next,
.lightbox-close {
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

@media (max-width: 640px) {
  .featured-gallery-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .featured-gallery-small-grid {
    gap: 14px;
  }

  .lightbox-prev,
  .lightbox-next {
    position: fixed !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3002 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: rgba(248,245,238,.88) !important;
    color: var(--green) !important;
    border: 1px solid rgba(47,59,47,.22) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.28) !important;
  }

  .lightbox-prev {
    left: 12px !important;
  }

  .lightbox-next {
    right: 12px !important;
  }

  .lightbox-close {
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 3003 !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(248,245,238,.9) !important;
    color: var(--green) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.28) !important;
  }
}


/* v0.6.1 fixes */
.gallery-filter {
  text-transform: none !important;
  letter-spacing: .06em;
}


/* v0.7 header visibility refinement */
.site-header {
  background: rgba(248, 245, 238, 0.78);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(47, 59, 47, 0.10);
}
.site-header.is-scrolled {
  background: rgba(248, 245, 238, 0.96);
}


/* v0.7.1 header transparency correction */
.site-header {
  background: rgba(248, 245, 238, 0.46) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(47, 59, 47, 0.08);
  box-shadow: none;
}

.site-header.is-scrolled {
  background: rgba(248, 245, 238, 0.96) !important;
  border-bottom: 1px solid rgba(47, 59, 47, 0.12);
  box-shadow: 0 10px 30px rgba(47, 59, 47, 0.08);
}


/* v0.8 pre-scroll header transparency test */
.site-header {
  background: rgba(248, 245, 238, 0.32) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(47, 59, 47, 0.06);
  box-shadow: none;
}

.site-header.is-scrolled {
  background: rgba(248, 245, 238, 0.96) !important;
  border-bottom: 1px solid rgba(47, 59, 47, 0.12);
  box-shadow: 0 10px 30px rgba(47, 59, 47, 0.08);
}


/* v0.8.1 FAQ and mobile overflow patch */
.faq-section .section-heading { margin-left: auto; margin-right: auto; }
.faq-list { display: grid; gap: 14px; }
.faq-list details { background: rgba(255,255,255,.52); border: 1px solid var(--line); box-shadow: 0 12px 34px rgba(38,49,38,.06); }
.faq-list summary { list-style: none; cursor: pointer; padding: 20px 24px; font-weight: 700; color: var(--green); display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--gold); font-size: 24px; line-height: 1; flex: 0 0 auto; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { padding: 0 24px 22px; margin: 0; color: var(--soft); font-size: 16px; }

html, body { max-width: 100%; overflow-x: clip; }
.site-page, main, section, .container, .narrow, .split-layout, .detail-grid, .info-card-grid, .feature-grid, .feature-grid-wide, .content-stack, .content-block, .detail-panel, .contact-panel, .location-card, .inquiry-form, .inquiry-fallback, .notice-box, .featured-gallery-layout, .featured-gallery-small-grid, .gallery-mosaic, .pill-grid, .button-row, .footer-grid, .footer-bottom { min-width: 0; }
.content-block, .detail-panel, .info-card, .feature-card, .contact-panel, .location-card, .inquiry-form, .inquiry-fallback, .notice-box, .form-note, .form-status, .footer-note, .company-line, .faq-list details { overflow-wrap: anywhere; word-break: normal; }
.button, .gallery-filter, .pill-grid span, .main-nav a { white-space: normal; text-align: center; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea, .request-copy-box { min-width: 0; max-width: 100%; }
.featured-gallery-layout button, .featured-gallery-main, .featured-gallery-small, .gallery-mosaic img { min-width: 0; }

@media (max-width: 640px) {
  .button { width: auto; max-width: 100%; padding-left: 18px; padding-right: 18px; line-height: 1.35; }
  .section-action .button, .location-card .button { width: 100%; }
  .feature-grid-wide { grid-template-columns: 1fr; }
  .feature-card { aspect-ratio: auto; min-height: 210px; }
  .info-card, .detail-panel, .content-block, .contact-panel, .location-card, .notice-box { padding-left: 22px; padding-right: 22px; }
  .faq-list summary { padding: 18px 20px; align-items: flex-start; }
  .faq-list p { padding-left: 20px; padding-right: 20px; }
}

/* v0.8.3 Greek typography refinement: GFS Didot headings + Manrope body */
:root {
  --greek-serif: 'GFS Didot', Georgia, 'Times New Roman', serif;
  --greek-sans: 'Manrope', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html[lang="el"] body {
  font-family: var(--greek-sans);
  line-height: 1.72;
}

html[lang="el"] h1,
html[lang="el"] h2,
html[lang="el"] h3,
html[lang="el"] .hero h1,
html[lang="el"] .page-hero h1,
html[lang="el"] .content-block h2,
html[lang="el"] .studio-gallery-title {
  font-family: var(--greek-serif);
  font-weight: 400;
  letter-spacing: 0;
}

html[lang="el"] .main-nav,
html[lang="el"] .button,
html[lang="el"] .eyebrow,
html[lang="el"] .gallery-filter,
html[lang="el"] .card-body a,
html[lang="el"] .info-card a,
html[lang="el"] .inquiry-form input,
html[lang="el"] .inquiry-form select,
html[lang="el"] .inquiry-form textarea,
html[lang="el"] .request-copy-box {
  font-family: var(--greek-sans);
}

html[lang="el"] .hero h1 {
  font-size: clamp(42px, 5.8vw, 78px);
  line-height: 1.02;
  max-width: 820px;
}

html[lang="el"] .page-hero h1 {
  font-size: clamp(40px, 5.0vw, 70px);
  line-height: 1.06;
}

html[lang="el"] h2 {
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.14;
}

html[lang="el"] .content-block h2 {
  font-size: clamp(32px, 3.8vw, 46px);
}

html[lang="el"] h3 {
  font-size: 26px;
  line-height: 1.18;
}

html[lang="el"] .page-hero p:last-child {
  font-size: clamp(17px, 2vw, 21px);
  max-width: 760px;
}

html[lang="el"] .welcome p:not(.section-mark),
html[lang="el"] .narrow p,
html[lang="el"] .content-block p {
  font-size: 17px;
}

html[lang="el"] .main-nav {
  font-size: 12px;
  letter-spacing: .075em;
}

html[lang="el"] .button {
  letter-spacing: .105em;
}

html[lang="el"] .eyebrow {
  letter-spacing: .16em;
}

/* Keep Greek footer headings compact and secondary. */
html[lang="el"] .site-footer h2 {
  font-family: var(--greek-sans);
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
}

html[lang="el"] .site-footer .social-block h2 {
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 640px) {
  html[lang="el"] .hero h1 {
    font-size: clamp(37px, 10.8vw, 52px);
    line-height: 1.02;
  }

  html[lang="el"] .page-hero h1 {
    font-size: clamp(35px, 10vw, 49px);
    line-height: 1.08;
  }

  html[lang="el"] h2 {
    font-size: clamp(31px, 9vw, 44px);
  }

  html[lang="el"] .content-block h2 {
    font-size: clamp(30px, 8.5vw, 40px);
  }
}


/* v0.8.4 Boat rentals guide cards */
.boat-rental-grid { margin-top: 34px; }
.boat-rental-card h3 { margin-bottom: 10px; }
.boat-rental-meta { margin: 0 0 12px; font-size: 14px; color: var(--soft); }
.boat-rental-card .button-row { margin-top: 22px; }
.boat-rental-card .button { font-size: 11px; }
@media (max-width: 640px) {
  .boat-rental-card .button-row { align-items: stretch; }
  .boat-rental-card .button { width: 100%; }
}


/* v0.8.6 gallery integration refinements */
.gallery-mosaic figure { margin: 0; min-width: 0; }
.gallery-mosaic button { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; overflow: hidden; }
.gallery-mosaic button:hover img { transform: scale(1.035); }
.gallery-mosaic img { transition: transform .28s ease; }
.cookie-banner a { color: var(--ivory); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.cookie-banner a:hover { color: rgba(248,245,238,.86); }

/* v0.9.1 advertising measurement readiness: consent choices and footer settings */
.cookie-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;max-height:calc(100vh - 48px);overflow:auto}
.cookie-summary p:last-child{max-width:780px}
.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}
.cookie-preferences{grid-column:1/-1;border-top:1px solid rgba(248,245,238,.18);padding-top:16px}
.cookie-preferences[hidden]{display:none}
.cookie-preference-grid{display:grid;gap:10px}
.cookie-preference-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid rgba(248,245,238,.12)}
.cookie-preference-row:last-child{border-bottom:0}
.cookie-preference-copy{display:grid;gap:2px;max-width:760px}
.cookie-preference-copy span{font-size:14px;color:rgba(248,245,238,.78)}
.cookie-toggle{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:14px;cursor:pointer}
.cookie-toggle input{width:18px;height:18px;margin:0;accent-color:var(--sage)}
.cookie-preferences-actions{display:flex;justify-content:flex-end;margin-top:14px}
.footer-cookie-settings{display:block;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer}
.footer-cookie-settings:hover{color:var(--gold)}
@media(max-width:980px){.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}.cookie-preferences{grid-column:1}}
@media(max-width:640px){.cookie-banner{left:14px;right:14px;bottom:14px;max-height:calc(100vh - 28px);padding:18px}.cookie-actions{flex-direction:column;align-items:stretch}.cookie-preference-row{align-items:flex-start;flex-direction:column;gap:10px}.cookie-toggle{white-space:normal}.cookie-preferences-actions{justify-content:stretch}.cookie-preferences-actions .button{width:100%}}
