:root{
  --cream:#fdf8f2;
  --paper:#fffaf8;
  --ink:#2a1f3d;
  --muted:#4a3d5c;
  --brown:#4a2f18;
  --gold:#b8864a;
  --line:rgba(184,134,74,.30);
  --shadow:0 18px 55px rgba(60,35,18,.13);
  --radius:22px;
  --nav-h:55px;
  --footer-h:44px;
  --pink:rgba(187,0,138,.33);
  --magenta:rgba(233,48,138,.23);
  --orange:rgba(255,111,0,.28);
  --blue:rgba(34,72,214,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow-x:hidden;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  background-color:var(--cream);
  background-image:
    radial-gradient(circle at 4% 10%, var(--pink) 0 5%, rgba(187,0,138,0) 16%),
    radial-gradient(circle at 6% 28%, var(--orange) 0 4.6%, rgba(255,111,0,0) 15%),
    radial-gradient(circle at 5% 48%, var(--blue) 0 5.3%, rgba(34,72,214,0) 16%),
    radial-gradient(circle at 7% 74%, var(--magenta) 0 5%, rgba(233,48,138,0) 15%),
    radial-gradient(circle at 94% 12%, var(--orange) 0 5%, rgba(255,111,0,0) 16%),
    radial-gradient(circle at 92% 31%, var(--blue) 0 5.1%, rgba(34,72,214,0) 16%),
    radial-gradient(circle at 95% 58%, var(--pink) 0 5.3%, rgba(187,0,138,0) 16%),
    radial-gradient(circle at 92% 82%, var(--magenta) 0 4.8%, rgba(233,48,138,0) 15%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0));
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

.luxury-page-strip{
  position:fixed;
  top:0;left:0;right:0;
  z-index:9999;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:42px;
  min-height:var(--nav-h);
  padding:15px 28px;
  background:rgba(255,252,246,.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 26px rgba(80,52,22,.08)
}
.strip-link{
  display:inline-block;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  color:var(--brown);
  position:relative;
  white-space:nowrap
}
.strip-link:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:1px;
  background:var(--gold);
  transform:translateX(-50%);
  transition:width .25s ease
}
.strip-link:hover:after,.strip-link.active:after{width:100%}

main{flex:1}
.page-spacer{height:var(--nav-h)}
.page{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:clamp(20px,3vw,44px) 0
}
.section-title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,3.5vw,3.7rem);
  line-height:1.08;
  margin:0 0 22px;
  color:var(--ink)
}
p{font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.75;color:var(--muted)}

.hero{
  height:calc(100svh - var(--nav-h) - var(--footer-h));
  margin-top:var(--nav-h);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hero-frame,
.about-visual,
.contact-logo,
.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:34px 16px 34px 16px / 18px 42px 18px 42px;
  border:1px solid rgba(184,134,74,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,244,.92));
  box-shadow:0 18px 55px rgba(60,35,18,.10), 0 0 0 5px rgba(255,250,244,.72)
}
.hero-frame{
  width:min(100vw,calc((100svh - var(--nav-h)) * 16 / 9));
  max-width:100%;
  aspect-ratio:16/9;
  line-height:0
}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-corner-logo{
  position:absolute;
  right:2.2%;
  bottom:4.6%;
  width:23%;
  max-width:360px;
  min-width:160px;
  z-index:10;
  pointer-events:none;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.40))
}

.two-column{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(300px,500px);
  gap:clamp(30px,5vw,70px);
  align-items:center
}
.about-text p{margin:0 0 17px}
.about-visual img{width:100%;aspect-ratio:1400/1131;object-fit:cover}

.gallery-intro{max-width:820px;margin:0 0 36px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-item{cursor:pointer}
.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#f7efe7;border-bottom:none}
.gallery-item h2{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;margin:15px 16px 8px;color:var(--ink)}
.gallery-item p{font-size:.98rem;line-height:1.55;margin:0 16px 18px;color:var(--muted)}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(260px,380px) minmax(0,1fr);
  gap:clamp(35px,6vw,80px);
  align-items:center
}
.contact-logo{padding:20px}
.contact-logo img{width:100%}
.contact-card{
  background:rgba(255,255,255,.84);
  border:1px solid var(--line);
  border-radius:34px 14px 34px 14px / 18px 42px 18px 42px;
  padding:clamp(22px,3vw,36px);
  box-shadow:var(--shadow)
}
.contact-card a{text-decoration:none;color:var(--brown);font-weight:700}
.btn-contact{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  padding:13px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--paper);
  font-weight:700;
  text-decoration:none;
  color:var(--brown)
}

.site-footer{
  height:var(--footer-h);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  padding:0 20px;
  color:#555;
  font-size:.85rem;
  flex:0 0 var(--footer-h)
}
.footer-separator{color:#a67a50}

.site-loader{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  background:rgba(253,248,242,.985);
  transition:opacity .7s ease,visibility .7s ease
}
.site-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-loader-inner{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px}
.site-loader-logo{
  width:min(340px,62vw);
  filter:drop-shadow(0 10px 24px rgba(77,41,19,.16));
  animation:logoPulse 1.7s ease-in-out infinite alternate
}
.loader-brush{
  width:min(190px,36vw);
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(182,0,136,.95) 0%, rgba(255,113,0,.95) 48%, rgba(33,71,214,.95) 100%);
  overflow:hidden
}
.loader-brush::after{
  content:"";
  display:block;
  width:45%;
  height:100%;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.82), rgba(255,255,255,0));
  transform:translateX(-120%);
  animation:brushSweep 1.25s ease-in-out infinite
}
@keyframes logoPulse{
  from{transform:translateY(0) scale(.985);opacity:.92}
  to{transform:translateY(-4px) scale(1.01);opacity:1}
}
@keyframes brushSweep{
  from{transform:translateX(-120%)}
  to{transform:translateX(270%)}
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(22,15,10,.88);
  padding:24px
}
.lightbox.open{display:flex}
.lightbox img{max-width:min(96vw,1200px);max-height:86vh;object-fit:contain;border-radius:16px;background:#fff}
.lightbox button{position:absolute;top:18px;right:18px;border:0;border-radius:999px;background:#fff;color:#2a1f3d;font-size:28px;width:48px;height:48px;cursor:pointer}

@media (max-width:900px){
  :root{--nav-h:50px}
  .luxury-page-strip{justify-content:flex-start;gap:22px;overflow-x:auto;padding:13px 14px;scrollbar-width:none}
  .luxury-page-strip::-webkit-scrollbar{display:none}
  .strip-link{font-size:12px;letter-spacing:.12em}
  .hero{height:auto;min-height:calc(100svh - var(--nav-h) - var(--footer-h));align-items:flex-start}
  .hero-frame{width:100vw;height:auto;aspect-ratio:16/9}
  .hero-corner-logo{width:24%;min-width:120px;right:2%;bottom:4%}
  .two-column,.contact-layout{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:560px){
  .page{width:min(100% - 28px,1180px);padding:24px 0}
  .gallery-grid{grid-template-columns:1fr}
  .section-title{font-size:2rem}
  .hero-corner-logo{width:30%;min-width:105px}
}

@media (max-width:520px){
  .site-footer{font-size:.78rem;gap:6px}
}





/* Mobile home fix */
@media (max-width:900px){
  body.home-page{
    min-height:auto;
    display:block;
  }

  body.home-page main{
    flex:0 0 auto;
  }

  body.home-page .hero{
    height:auto;
    min-height:0;
    margin-top:var(--nav-h);
    padding-bottom:8px;
    align-items:flex-start;
    overflow:visible;
  }

  body.home-page .hero-frame{
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:16/9;
    border-radius:0 0 22px 22px;
  }

  body.home-page .site-footer{
    height:auto;
    min-height:var(--footer-h);
    padding:10px 14px;
  }
}

@media (max-width:560px){
  body.home-page{
    background-image:
      radial-gradient(circle at 5% 18%, rgba(187,0,138,.14) 0 7%, rgba(187,0,138,0) 21%),
      radial-gradient(circle at 94% 40%, rgba(255,111,0,.12) 0 7%, rgba(255,111,0,0) 21%),
      radial-gradient(circle at 8% 72%, rgba(34,72,214,.12) 0 7%, rgba(34,72,214,0) 21%);
  }
}




@media (max-width:900px){
  .luxury-page-strip{
    padding-right:34px;
  }
  







.footer-author-link{font-weight:700;text-decoration:none;color:var(--brown)}
.footer-author-link:hover{text-decoration:underline}
.author-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;color:var(--brown);margin:-8px 0 18px}
.author-main-image{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:24px}
.author-main-image img{width:100%;max-height:520px;object-fit:contain}
.author-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}
.author-extra-item{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.author-extra-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#fffaf8}
.author-extra-item h2{font-family:Georgia,'Times New Roman',serif;margin:0 0 8px;color:var(--ink)}
.author-extra-item p{margin:0}
.author-disabled{max-width:760px;margin:40px auto}
@media (max-width:900px){.author-extra-grid{grid-template-columns:1fr}.author-extra-item{grid-template-columns:1fr}.author-extra-item img{max-width:260px}}
