/* DARCLIGHT LLC — umbrella page. Palette and type match darclightproductions.com. */

@font-face{
  font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;
  font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-400-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;
  font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;
  font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-400i-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;
  font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-400i-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"Lora";font-style:normal;font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/lora-400-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Lora";font-style:normal;font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/lora-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"Lora";font-style:italic;font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/lora-400i-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Lora";font-style:italic;font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/lora-400i-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --dl-black:#020100;
  --dl-panel:#0a0900;
  --dl-panel-lift:#0d0b05;
  --dl-gold:#D6B06A;
  --dl-gold-lt:#E7C88A;
  --dl-gold-mut:#B5A585;
  --dl-cream:#F7F5F0;
  --dl-line:#1a1508;
  --dl-line-2:#2A2418;
  --dl-maxw:1280px;
  --dl-gutter:clamp(1.5rem,5vw,4rem);
  --dl-ease:cubic-bezier(.22,.75,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{margin:0;padding:0;max-width:100%;}
body{
  background:var(--dl-black);
  color:var(--dl-cream);
  font-family:"Lora",Georgia,serif;
  font-synthesis-weight:none;
  text-rendering:optimizeLegibility;
  min-height:100%;
  overflow-x:hidden;
}
body,body *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
::selection{background:var(--dl-gold);color:#000;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-synthesis:none;}

.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--dl-gold);color:#000;
  padding:.75rem 1.25rem;z-index:100;
  font-size:.875rem;text-decoration:none;
}
.skip:focus{left:1rem;top:1rem;}

a:focus-visible,button:focus-visible{
  outline:2px solid var(--dl-gold);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- Header ---------- */
.site-header{
  position:absolute;top:0;left:0;right:0;z-index:10;
  padding:calc(1.15rem + env(safe-area-inset-top,0px)) var(--dl-gutter) 0;
}
.brand{
  display:inline-flex;align-items:center;gap:.85rem;
  text-decoration:none;min-height:44px;min-width:0;
}
.brand__badge{width:40px;height:40px;flex:0 0 40px;}
.brand__name{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:.875rem;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--dl-cream);white-space:nowrap;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:72vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  padding:clamp(7rem,16vh,10rem) var(--dl-gutter) clamp(4rem,9vh,6.5rem);
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;pointer-events:none;
  width:min(640px,90vw);height:min(640px,90vw);
  right:-12%;bottom:-28%;
  background:radial-gradient(circle,rgba(214,176,106,.16) 0%,transparent 64%);
}
.hero::after{
  content:"";position:absolute;pointer-events:none;
  width:min(480px,80vw);height:min(320px,50vw);
  left:50%;top:18%;transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(214,176,106,.08) 0%,transparent 70%);
}
.hero__inner{position:relative;z-index:1;width:100%;max-width:920px;min-width:0;}

.wordmark{
  margin:0;
  display:flex;flex-direction:column;align-items:center;
}
.wordmark img{
  width:min(100%,720px);
  height:auto;
}
.wordmark__llc{
  display:block;
  margin:1.05rem 0 0;
  color:var(--dl-gold);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:.8rem;font-weight:500;
  letter-spacing:.46em;
  text-transform:uppercase;
  text-indent:.46em; /* optically center tracked type */
}

.divider{
  display:flex;align-items:center;justify-content:center;gap:1rem;
  margin:1.7rem 0 0;
}
.divider span{display:block;height:1px;width:72px;flex:0 0 72px;}
.divider span:first-child{background:linear-gradient(to right,rgba(214,176,106,0),#D6B06A);}
.divider span:last-child{background:linear-gradient(to left,rgba(214,176,106,0),#D6B06A);}
.divider i{display:block;width:4px;height:4px;background:#D6B06A;transform:rotate(45deg);flex:0 0 4px;}

.tagline{
  margin:1.45rem 0 0;
  color:var(--dl-gold);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;font-weight:500;
  font-size:clamp(1.05rem,2.4vw,1.35rem);
  letter-spacing:.28em;
  text-transform:uppercase;
  line-height:1.55;
}
.tagline em{font-style:italic;font-weight:inherit;}

.hairline{
  display:block;width:100%;height:1px;
  background:linear-gradient(to right,rgba(214,176,106,0) 0%,rgba(214,176,106,.16) 18%,rgba(214,176,106,.6) 50%,rgba(214,176,106,.16) 82%,rgba(214,176,106,0) 100%);
}

/* ---------- House cards ---------- */
.houses{padding:clamp(3.25rem,7vw,5.75rem) var(--dl-gutter) clamp(2.75rem,5vw,4.5rem);}
.houses__inner{max-width:1100px;margin:0 auto;min-width:0;}
.houses__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  width:100%;
}

.card{
  display:flex;flex-direction:column;
  background:var(--dl-panel);
  border:1px solid var(--dl-line);
  text-decoration:none;color:inherit;
  overflow:hidden;position:relative;min-width:0;
  transition:border-color .5s var(--dl-ease),background-color .5s var(--dl-ease);
  -webkit-tap-highlight-color:transparent;
}
.card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--dl-gold);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s var(--dl-ease);z-index:2;
}
.card:hover,.card:focus-visible{
  border-color:rgba(214,176,106,.65);
  background:var(--dl-panel-lift);
  outline:none;
}
.card:hover::before,.card:focus-visible::before{transform:scaleX(1);}

.card__media{
  position:relative;aspect-ratio:16/10;
  background:#050400;overflow:hidden;
}
.card__media img{width:100%;height:100%;}
.card__media img.cover{
  object-fit:cover;object-position:50% 16%;
  filter:saturate(.96) contrast(1.02);
  transition:transform .9s cubic-bezier(.22,.61,.36,1);
}
.card__media img.contain{
  object-fit:contain;
  padding:clamp(1.25rem,3vw,2rem) clamp(1.15rem,3vw,2rem);
}
.card:hover img.cover,.card:focus-visible img.cover{transform:scale(1.035);}

.card__body{padding:1.65rem 1.65rem 1.75rem;min-width:0;}
.card__body h2{
  margin:0;
  font-weight:600;
  font-size:clamp(1.45rem,2.4vw,1.75rem);
  color:var(--dl-cream);
  letter-spacing:.02em;
  line-height:1.15;
  transition:color .3s var(--dl-ease);
}
.card:hover h2,.card:focus-visible h2{color:var(--dl-gold-lt);}
.card__rule{
  height:1px;width:2rem;
  background:rgba(214,176,106,.4);
  margin:.85rem 0 .8rem;
  transition:width .5s var(--dl-ease);
}
.card:hover .card__rule,.card:focus-visible .card__rule{width:4rem;}
.card__body p{
  margin:0;
  color:var(--dl-gold-mut);
  font-size:.95rem;line-height:1.6;
}
.card__cta{
  margin-top:1.1rem;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--dl-gold);
  font-family:"Lora",Georgia,serif;
}

/* ---------- Contact ---------- */
.contact{
  text-align:center;
  padding:0 var(--dl-gutter) clamp(3.25rem,6vw,5.25rem);
}
.contact__inner{max-width:36rem;margin:0 auto;min-width:0;}
.contact__label{
  margin:0 0 .85rem;
  color:var(--dl-gold);
  font-family:"Lora",Georgia,serif;
  font-size:11px;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;
}
.contact__mail{
  color:var(--dl-cream);
  text-decoration:none;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  letter-spacing:.06em;
  overflow-wrap:anywhere;
  transition:color .3s var(--dl-ease);
}
.contact__mail:hover,.contact__mail:focus-visible{color:var(--dl-gold-lt);}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--dl-line-2);}
.site-footer__gold{
  display:block;height:1px;width:100%;
  background:linear-gradient(to right,transparent,var(--dl-gold),transparent);
}
.site-footer__inner{
  max-width:var(--dl-maxw);margin:0 auto;
  padding:2rem var(--dl-gutter) calc(2rem + env(safe-area-inset-bottom,0px));
  text-align:center;
}
.site-footer p{
  margin:0;
  color:var(--dl-gold-mut);
  font-size:12px;letter-spacing:.1em;line-height:1.5;
}

@media (max-width:767px){
  .houses__grid{grid-template-columns:minmax(0,1fr);gap:1rem;}
  .hero{min-height:0;padding-bottom:3.5rem;}
  .divider span{width:56px;flex-basis:56px;}
  .tagline{letter-spacing:.16em;font-size:1.05rem;}
  .card__body{padding:1.4rem 1.35rem 1.5rem;}
}
@media (max-width:379px){
  .brand__name{letter-spacing:.22em;}
  .tagline{letter-spacing:.12em;}
  .wordmark__llc{letter-spacing:.36em;text-indent:.36em;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .card:hover img.cover,.card:focus-visible img.cover{transform:none;}
}
