:root{--charcoal:#44474a;--ivory:#f5f1ed;--oat:#e7ddd0;--limestone:#d4ddc8;--sage:#a8b19c;--olive:#6e7759;--brass:#b59a5a;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--header:86px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:#17191a;font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.master-header{height:var(--header);background:var(--ivory);position:sticky;top:0;z-index:50;display:flex;align-items:center;padding:0 3.8vw;border-bottom:1px solid rgba(68,71,74,.1)}
.brand-mark{position:relative;width:232px;height:42px;overflow:hidden;display:block;flex:0 0 232px}.brand-mark img{position:absolute;width:425px;height:auto;max-height:none;left:-98px;top:-190px;object-fit:initial}
.master-header nav{margin-left:auto;display:flex;align-items:center;gap:clamp(28px,3.3vw,58px);font-size:11px;letter-spacing:.13em}.master-header nav .begin{border:1px solid rgba(68,71,74,.58);padding:14px 19px}
.hero{height:calc(100vh - var(--header));min-height:650px;position:relative;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:rgba(18,15,12,.35)}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:32px}.hero-logo{position:absolute;width:995px;max-width:none;height:auto;left:-230px;top:-445px;object-fit:initial;margin:0}.hero-content h1{display:none}
.tagline{font:400 clamp(27px,2.5vw,43px)/1.1 var(--serif);margin:15px 0 8px}.micro{font-size:10px;letter-spacing:.19em;margin:0}
.outline-button{display:inline-flex;align-items:center;gap:18px;border:1px solid currentColor;padding:14px 22px;margin-top:28px;font-size:11px;letter-spacing:.14em}.light{color:white}
.only-one{padding:100px 24px 88px}.narrow{max-width:850px;margin:auto;text-align:center}.eyebrow{font-size:12px;letter-spacing:.19em;color:var(--brass);margin:0 0 30px}.centered{text-align:center}
.only-one h2,.way-teaser h2,.life-shape h2,.project-close h2{font:400 clamp(52px,5vw,84px)/.98 var(--serif);margin:0}.only-one .body-copy{font-size:17px;line-height:1.85;max-width:720px;margin:38px auto 0}.section-mark{width:34px;height:34px;object-fit:contain;margin:28px auto 0}
.way-teaser{padding:78px 2.2vw 82px}.wide{max-width:1510px;margin:auto;text-align:center}.way-teaser h2{font-size:clamp(44px,4vw,68px);margin-bottom:35px}.way-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.way-grid article{min-width:0}.way-img{width:100%;height:430px;object-fit:cover}
.pillar{margin:17px auto 10px;color:var(--brass);font-size:12px;letter-spacing:.14em;line-height:1;width:max-content}.pillar span{display:inline-block;border-bottom:1px solid var(--brass);padding-bottom:8px}.way-grid article>p{font:400 21px/1.28 var(--serif);margin:0;min-height:58px}.text-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--brass);padding-bottom:7px;margin-top:35px;font-size:11px;letter-spacing:.13em}
.spaces-teaser{display:grid;grid-template-columns:58% 42%;min-height:620px;background:var(--sage);overflow:hidden}.spaces-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.spaces-copy h2{font:400 clamp(66px,7vw,112px)/.95 var(--serif);margin:0}.short-rule{width:45px;height:1px;background:var(--charcoal);margin:30px 0 36px}.spaces-copy p{font:400 clamp(28px,2.35vw,41px)/1.28 var(--serif);margin:0}.text-link.left{align-self:flex-start;margin-top:42px}.spaces-photo{position:relative;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.spaces-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.life-shape{padding:82px 24px 92px}.life-shape h2{font-size:clamp(48px,4.7vw,76px)}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;max-width:810px;margin:55px auto 0}.life-grid article{text-align:center}.pdf-icon{width:126px;height:126px;object-fit:contain;margin:0 auto 22px;background:transparent}.life-grid h3{font-size:12px;font-weight:400;letter-spacing:.16em;margin:0}.mini-rule{height:1px;width:36px;background:var(--brass);margin:15px auto 18px}.life-grid p{font:400 21px/1.45 var(--serif);margin:0}
.project-close{background:#242627;padding:88px 24px 92px}.inverse{color:#fff}.project-close h2{color:#fff;font-size:clamp(52px,5.25vw,86px)}.project-close .narrow>p:not(.eyebrow){font:400 22px/1.45 var(--serif);margin:28px 0 0}.brass{color:var(--brass)}.brass-line{background:var(--brass);margin-top:-12px;margin-bottom:31px}.brass-button{color:var(--brass)}
.footer{min-height:64px;background:var(--ivory);display:grid;grid-template-columns:auto auto auto 1fr;gap:18px;align-items:center;padding:0 3.5vw;font-size:10px;letter-spacing:.12em}.privacy{text-align:right}
@media(max-width:900px){:root{--header:72px}.brand-mark{width:170px;height:50px;flex-basis:170px}.brand-mark img{width:165px;height:auto;max-height:34px}.master-header nav a:not(.begin){display:none}.master-header nav{gap:0}.master-header nav .begin{font-size:9px;padding:11px 12px}.hero{min-height:570px}.way-grid{grid-template-columns:1fr;gap:42px}.way-img{height:520px}.spaces-teaser{grid-template-columns:1fr}.spaces-photo{clip-path:none;min-height:470px}.life-grid{grid-template-columns:1fr;gap:52px}.footer{grid-template-columns:1fr 1fr;padding:20px 24px}.privacy{text-align:left}}

@media(max-width:900px){.pdf-icon{width:112px;height:112px}}

/* V8: approved illustrations float directly on the section background */
.pdf-icon{
  display:block;
  width:126px;
  height:126px;
  object-fit:contain;
  margin:0 auto 22px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal;
}

/* FINAL HOME: exact, untouched supplied logo PNGs displayed through crop windows.
   No thresholding, tracing, resampling asset creation, or background removal. */
.hero-logo-window{
  position:relative;
  width:540px;
  height:72px;
  overflow:hidden;
  margin:0 auto 14px;
  flex:0 0 auto;
}

/* Approved illustrations float directly on the actual section background. */
.life-grid .pdf-icon{
  display:block;
  width:126px;
  height:126px;
  object-fit:contain;
  margin:0 auto 22px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

@media(max-width:900px){
  .brand-mark{width:170px;height:34px;flex-basis:170px}
  .brand-mark img{width:313px;left:-72px;top:-140px}
  .hero-logo-window{width:420px;height:56px}
  .hero-logo{width:774px;left:-179px;top:-346px}
}
@media(max-width:520px){
  .hero-logo-window{width:320px;height:44px}
  .hero-logo{width:590px;left:-136px;top:-264px}
}

/* HEADER LOGO VISIBILITY FIX — exact original PNG, untouched */
.brand-mark{
  position:relative !important;
  width:220px !important;
  height:44px !important;
  overflow:hidden !important;
  display:block !important;
  flex:0 0 220px !important;
}
.brand-mark img{
  display:block !important;
  position:absolute !important;
  width:320px !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  left:-35px !important;
  top:-72px !important;
  opacity:1 !important;
  visibility:visible !important;
}
@media(max-width:900px){
  .brand-mark{width:180px !important;height:38px !important;flex-basis:180px !important}
  .brand-mark img{width:270px !important;left:-30px !important;top:-61px !important}
}

/* FINAL HEADER LOGO FIX
   Uses the exact supplied PNG artwork with transparent outer canvas trimmed only.
   No tracing, thresholding, redrawing, or CSS crop-window positioning. */
.brand-mark{
  position:static !important;
  width:220px !important;
  height:auto !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 220px !important;
}
.brand-mark img{
  position:static !important;
  display:block !important;
  width:210px !important;
  height:auto !important;
  max-width:210px !important;
  max-height:44px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  clip-path:none !important;
}
@media(max-width:900px){
  .brand-mark{width:175px !important;flex-basis:175px !important}
  .brand-mark img{width:168px !important;max-width:168px !important;max-height:36px !important}
}


/* ==========================================================
   HOME REAL-PHOTO PASS — PHOTOGRAPHY ONLY
   Layout/typography/logos/spacing remain locked.
   ========================================================== */

/* Hero: preserve the living-room composition while allowing
   the existing centered brand/copy treatment to remain legible. */
.hero > img{
  object-fit:cover !important;
  object-position:center 56% !important;
}

/* "Good design begins with noticing":
   all three remain EXACTLY the same displayed size. */
.way-grid article .way-img{
  width:100% !important;
  height:430px !important;
  object-fit:cover !important;
}

/* LIGHT — retain the shadowed fiddle-leaf plant + console detail. */
.way-grid article:nth-child(1) .way-img{
  object-position:52% 52% !important;
}

/* SPACE — keep the photo grouping and lamp composition balanced. */
.way-grid article:nth-child(2) .way-img{
  object-position:50% 48% !important;
}

/* TEXTURE — center the brass heart/arrow and retain dark tabletop
   as the surrounding material field. */
.way-grid article:nth-child(3) .way-img{
  object-position:50% 50% !important;
}

/* SPACES — retain the approved diagonal mask and place the chair/table
   vignette within it rather than treating the image as a normal rectangle. */
.spaces-photo{
  clip-path:polygon(18% 0,100% 0,100% 100%,0 100%) !important;
  overflow:hidden !important;
}
.spaces-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:52% 54% !important;
}

@media(max-width:900px){
  /* Existing mobile design removes the diagonal mask; preserve that behavior. */
  .way-grid article .way-img{height:520px !important}
  .spaces-photo{clip-path:none !important}
}

/* 3C MOBILE NAVIGATION — mobile only; desktop header remains unchanged */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:900px){
  .master-header{flex-wrap:nowrap!important;min-height:72px!important;height:72px!important;padding:0 16px!important}
  .master-header nav{margin-left:auto!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important}
  .master-header nav>a:not(.begin){display:none!important}
  .master-header nav .begin{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;font-size:9px!important;letter-spacing:.12em!important;padding:11px 12px!important}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:#17191a;cursor:pointer;flex:0 0 36px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{display:block;width:20px;height:1px;background:currentColor;position:relative;content:"";transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-toggle span:before{position:absolute;top:-6px;left:0}
  .mobile-menu-toggle span:after{position:absolute;top:6px;left:0}
  .mobile-menu-toggle[aria-expanded="true"] span{background:transparent}
  .mobile-menu-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
  .mobile-menu{display:block;position:fixed;left:0;right:0;top:72px;z-index:49;background:#f5f1ed;border-top:1px solid rgba(68,71,74,.08);border-bottom:1px solid rgba(68,71,74,.14);padding:24px 22px 28px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu a{display:block;padding:14px 4px;font-family:"DM Sans",Arial,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(68,71,74,.12)}
  .mobile-menu a:last-child{border-bottom:0}
  body.mobile-menu-open{overflow:hidden}
}
@media(max-width:430px){
  .master-header{padding:0 12px!important}
  .master-header nav{gap:5px!important}
  .master-header nav .begin{font-size:8.5px!important;padding:10px 9px!important}
  .mobile-menu-toggle{width:32px;height:34px;flex-basis:32px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{width:18px}
  .brand-mark{max-width:168px!important;flex-basis:168px!important}
}
@media(max-width:390px){
  .brand-mark{max-width:155px!important;flex-basis:155px!important}
  .brand-mark img{max-width:155px!important;width:155px!important}
  .master-header nav .begin{font-size:8px!important;padding:9px 7px!important}
}
