/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e6abaae3-9c1a-453f-bbdf-d45fa501d220.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/93275508-bc9d-45d5-8dab-a4f77ca6bad3.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/08cab2ba-9712-40b7-bfb1-e873d6a5e790.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/4ce7358d-05d7-4936-8180-f64dd8037213.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/8be1dff1-74f1-417f-81c1-598d832e83d2.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/4f1fb215-a925-457c-bfb8-9746d7a342be.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/999aac51-934a-484f-9393-30d61ea6d551.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/5ace7f1c-9e34-4ca7-86e9-6109534a093f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/17a0ca0a-7ee4-4944-9645-e190c9abdf42.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/54fef342-67e2-40d0-b750-f6f954aa3bd8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/4f1fb215-a925-457c-bfb8-9746d7a342be.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/999aac51-934a-484f-9393-30d61ea6d551.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/5ace7f1c-9e34-4ca7-86e9-6109534a093f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/17a0ca0a-7ee4-4944-9645-e190c9abdf42.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/54fef342-67e2-40d0-b750-f6f954aa3bd8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/4f1fb215-a925-457c-bfb8-9746d7a342be.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/999aac51-934a-484f-9393-30d61ea6d551.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/5ace7f1c-9e34-4ca7-86e9-6109534a093f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/17a0ca0a-7ee4-4944-9645-e190c9abdf42.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/54fef342-67e2-40d0-b750-f6f954aa3bd8.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/70e85080-6be9-438e-a764-ffec30d0bf7d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/7ae140a8-89bb-4c5b-b5cd-0fa5189c093b.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/3811d17e-80cb-4332-bd35-dfa1f097b18c.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/70e85080-6be9-438e-a764-ffec30d0bf7d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/7ae140a8-89bb-4c5b-b5cd-0fa5189c093b.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/3811d17e-80cb-4332-bd35-dfa1f097b18c.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/70e85080-6be9-438e-a764-ffec30d0bf7d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/7ae140a8-89bb-4c5b-b5cd-0fa5189c093b.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/3811d17e-80cb-4332-bd35-dfa1f097b18c.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;
}


  html { scroll-behavior:smooth; }
  body { margin:0; background:#F5F0E8; color:#2A241E; -webkit-font-smoothing:antialiased; }
  a { color:#2A241E; text-decoration:none; }
  a:hover { color:#B08D57; }
  button, input { font-family:'Jost',system-ui,sans-serif; }
  ::selection { background:#B08D57; color:#fff; }
  :focus-visible { outline:2px solid #B08D57; outline-offset:3px; }
  @keyframes tss-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(7px); } }
  [data-svcicon], [data-procicon] { transition:transform 500ms cubic-bezier(.16,1,.3,1); }
  [data-svcicon] path, [data-svcicon] circle { transition:fill 420ms ease; fill:rgba(138,110,62,0); }
  [data-svc]:hover [data-svcicon] { transform:translateY(-5px); }
  [data-svc]:hover [data-svcicon] path, [data-svc]:hover [data-svcicon] circle { fill:rgba(138,110,62,.2); }
  [data-procicon] path, [data-procicon] circle { transition:fill 420ms ease; fill:rgba(216,184,132,0); }
  [data-proc]:hover [data-procicon] { transform:translateY(-5px); }
  [data-proc]:hover [data-procicon] path, [data-proc]:hover [data-procicon] circle { fill:rgba(216,184,132,.26); }
  @media (prefers-reduced-motion: reduce) { [data-svcicon], [data-procicon] { transition:none; } }
  @keyframes tss-sway { 0% { transform:translate3d(-2.5%,-1.5%,0) scale(1.06) rotate(-.6deg); } 100% { transform:translate3d(2.5%,1.5%,0) scale(1.12) rotate(.6deg); } }
  @keyframes tss-rise { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
  [data-reveal] { animation:tss-rise 900ms cubic-bezier(.16,1,.3,1) both; animation-delay:120ms; }
  @supports (animation-timeline: view()) {
    [data-reveal] { animation-timeline:view(); animation-range:entry 0% entry 62%; animation-delay:0s; }
  }
  [data-navlinks] { display:none; }
  [data-wordmark] { display:none; }
  @media (min-width:1020px) { [data-navlinks] { display:flex; } }
  @media (min-width:1200px) { [data-wordmark] { display:flex; } }
  [data-navtoggle] { display:flex !important; }
  @media (min-width:1020px) { [data-navtoggle] { display:none !important; } }
  [data-process-wrap], [data-process-grid], [data-services-grid], [data-projects-grid] { grid-template-columns:1fr; }
  @media (min-width:700px) {
    [data-process-grid], [data-services-grid], [data-projects-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (min-width:1020px) {
    [data-process-wrap] { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
    [data-process-grid], [data-projects-grid] { grid-template-columns:repeat(3,minmax(0,1fr)); }
    [data-services-grid] { grid-template-columns:repeat(4,minmax(0,1fr)); }
  }
  [data-stats-grid] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-stats-grid] > *:last-child { grid-column:1 / -1; }
  @media (min-width:700px) {
    [data-stats-grid] { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
    [data-stats-grid] > *:last-child { grid-column:auto; }
  }
  [data-belief] { aspect-ratio:4/5 !important; background-size:cover !important; }
  [data-belief-scrim] { display:none !important; }
  [data-belief-copy] { background:rgba(245,240,232,.92); padding:22px 20px; text-align:left; width:100%; }
  [data-belief-copy] p:last-child { max-width:none !important; }
  @media (min-width:700px) { [data-belief-copy] { background:none; padding:0; text-align:right; width:auto; } }
  @media (min-width:700px) {
    [data-belief] { aspect-ratio:1695/862 !important; background-size:100% 100% !important; }
    [data-belief-scrim] { display:block !important; background:linear-gradient(270deg, rgba(245,240,232,.82) 0%, rgba(245,240,232,.5) 44%, rgba(245,240,232,0) 76%) !important; }
  }
  [data-hero-cta] > a { flex:1 1 100%; justify-content:center; }
  @media (min-width:560px) { [data-hero-cta] > a { flex:0 0 auto; justify-content:flex-start; } }
  [data-mobilebar] { display:none; }
  @media (max-width:699px) {
    [data-mobilebar] { display:grid !important; }
    [data-footer] { padding-bottom:96px !important; }
  }
  @media (max-width:699px) {
    [data-nav] { padding:8px 16px !important; }
    [data-navlogo] { height:42px !important; width:auto !important; }
    [data-navpill] { display:none !important; }
    [data-heroimg] { background-position:center center !important; }
    [data-scrollcue] { display:none !important; }
    [data-herodots] { position:static !important; margin:0 auto; }
    [data-herobook] { display:none !important; }
    [data-hero] { justify-content:flex-end !important; min-height:min(92svh,860px) !important; padding-top:120px !important; padding-bottom:19svh !important; }
    [data-hero-scrim-x] { background:linear-gradient(180deg, rgba(28,24,20,.29) 0%, rgba(28,24,20,0) 34%, rgba(28,24,20,.08) 55%, rgba(28,24,20,.68) 100%) !important; }
    [data-hero-cta] > a { padding:11px 18px !important; min-height:42px !important; font-size:9.5px !important; }
    [data-stats-grid] { grid-template-columns:1fr !important; gap:0 !important; }
    [data-stat] { border-left:0 !important; text-align:left !important; padding:13px 0 !important; display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-top:1px solid rgba(42,36,30,.14); }
    [data-stat]:first-child { border-top:0; }
    [data-stat] > p:last-child { margin:0 !important; }
  }
  @media (max-width:699px) {
    [data-detail-gallery] { grid-template-columns:1fr !important; }
    [data-detail-gallery] figure { grid-column:auto !important; }
  }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } [data-reveal] { animation:none; opacity:1; } }


[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
[data-open-project] { display:block; width:100%; padding:0; border:0; background:none; text-align:left; color:inherit; font:inherit; }
[data-open-project]:hover img { transform: scale(1.05); }
[data-navpill]:hover { background:#C9A46A !important; border-color:#C9A46A !important; color:#fff !important; }
[data-services-grid] > div:hover { background:#EDE6DA; }
[data-process-grid] > div:hover { background:rgba(245,240,232,.07); border-color:rgba(216,184,132,.5) !important; }
[data-testimonials] .u107:hover, footer a[aria-label]:hover { background:#2A241E !important; color:#F5F0E8 !important; }
[data-project-dialog], [data-story-dialog], [data-lightbox] { overscroll-behavior:contain; }
#founders-portrait { position:absolute; inset:0; }
[data-mobile-menu] {
  position:fixed; inset:0; z-index:55; background:rgba(28,24,20,.97);
  display:flex; flex-direction:column; padding:88px clamp(22px,7vw,48px) 40px; gap:6px;
  font-family:Jost,system-ui,sans-serif;
}
[data-mobile-menu] > button {
  position:absolute; top:20px; right:clamp(18px,5vw,48px); width:44px; height:44px;
  background:none; border:0; color:#F5F0E8; font-size:22px; cursor:pointer;
}
[data-mobile-menu] > a:not([data-mobile-phone]) {
  color:#F5F0E8; font-family:'Cormorant Garamond',serif; font-size:clamp(28px,8vw,40px);
  padding:12px 0; border-bottom:1px solid rgba(245,240,232,.14);
}
[data-mobile-menu] > a:nth-of-type(5) { border-bottom:0; }
[data-mobile-phone] {
  margin-top:auto; color:#D8B884; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
}

.u001{font-family: Jost, system-ui, sans-serif; background: rgb(245, 240, 232); overflow-x: hidden}
.u002{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 18px clamp(18px, 4vw, 54px); transition: background 500ms, border-color 500ms, padding 400ms, transform 420ms cubic-bezier(0.16, 1, 0.3, 1); will-change: transform; background: rgba(42, 36, 30, 0); border-bottom: 1px solid rgba(42, 36, 30, 0)}
.u003{display: flex; align-items: center; gap: 11px; color: rgb(245, 240, 232); text-shadow: rgba(28, 24, 20, 0.55) 0px 1px 10px}
.u004{height: 58px; width: auto; display: block}
.u005{display: none; flex-direction: column; line-height: 1.1}
.u006{font-size: 11.5px; letter-spacing: 0.3em; text-transform: uppercase}
.u007{font-size: 8px; letter-spacing: 0.42em; text-transform: uppercase; opacity: 0.65}
.u008{gap: clamp(18px, 2.6vw, 38px); align-items: center}
.u009{position: relative; font-size: 11.5px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(245, 240, 232); text-shadow: rgba(28, 24, 20, 0.75) 0px 1px 3px; transition: color 400ms}
.u009::after{content: ""; position: absolute; left: 2px; right: 2px; bottom: -7px; height: 1.5px; border-radius: 1px; background: linear-gradient(90deg, rgb(216, 184, 132), rgb(176, 141, 87)); opacity: 0; transform: scaleX(0.4); transform-origin: center; transition: opacity 350ms, transform 400ms cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 0 4px rgba(216, 184, 132, 0.55)}
.u009:hover::after{opacity: 1; transform: scaleX(1)}
.u010{display: flex; align-items: center; gap: 12px}
.u011{display: flex; align-items: center; gap: 6px; border: 1px solid #B08D57; color: rgb(255, 255, 255); border-radius: 999px; padding: 8px 14px; font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; min-height: 32px; transition: background 400ms, color 400ms, border-color 400ms, box-shadow 400ms; background: #B08D57; box-shadow: 0 6px 18px rgba(42,36,30,.18)}
.u012{font-size: 11px}
.u013{width: 42px; height: 42px; flex: 0 0 auto; display: none; align-items: center; justify-content: center; gap: 5px; flex-direction: column; background: none; border: 0px; cursor: pointer; padding: 0px; color: rgb(245, 240, 232)}
.u014{display: block; width: 20px; height: 1px; background: currentcolor}
.u015{position: relative; min-height: min(82svh, 760px); display: flex; flex-direction: column; justify-content: center; padding: 100px clamp(18px, 5vw, 64px) 84px; overflow: hidden; background: rgb(42, 36, 30)}
.u016{position: absolute; inset: -4% 0px 0px; will-change: transform; transform: translate3d(0px, 0px, 0px)}
.u017{position: absolute; inset: 0px; background: linear-gradient(150deg, rgb(58, 50, 42), rgb(36, 31, 26))}
.u018{position: absolute; inset: 0px; background-size: cover; background-position: center 60%; opacity: 0; transform: scale(1.08); transition: opacity 1400ms, transform 7600ms ease-out}
.u019{position: absolute; inset: 0px; background-size: cover; background-position: center 60%; opacity: 0; transform: scale(1.08); transition: opacity 1400ms, transform 7600ms ease-out}
.u020{position: absolute; inset: 0px; background-size: cover; background-position: center 60%; opacity: 0; transform: scale(1.08); transition: opacity 1400ms, transform 7600ms ease-out}
.u021{position: absolute; inset: 0px; background-size: cover; background-position: center 60%; opacity: 0; transform: scale(1.08); transition: opacity 1400ms, transform 7600ms ease-out}
.u022{position: absolute; inset: 0px; background-size: cover; background-position: center 60%; opacity: 0; transform: scale(1.08); transition: opacity 1400ms, transform 7600ms ease-out}
.u023{position: absolute; top: 0px; left: 0px; width: 520px; height: 520px; border-radius: 50%; pointer-events: none; opacity: 0; transition: opacity 600ms; background: radial-gradient(circle, rgba(216, 184, 132, 0.34) 0%, rgba(216, 184, 132, 0.12) 42%, rgba(216, 184, 132, 0) 70%); mix-blend-mode: screen; will-change: transform}
.u024{position: absolute; inset: 0px; background: linear-gradient(94deg, rgba(28, 24, 20, 0.78) 0%, rgba(28, 24, 20, 0.57) 38%, rgba(28, 24, 20, 0.17) 68%, rgba(28, 24, 20, 0.3) 100%)}
.u025{position: absolute; inset: 0px; background: linear-gradient(rgba(28, 24, 20, 0) 0%, rgba(28, 24, 20, 0) 30%, rgba(28, 24, 20, 0.29) 100%)}
.u026{position: relative; width: 100%; max-width: 1360px; margin: 0px auto; color: rgb(245, 240, 232)}
.u027{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(40px, 8vw, 104px); line-height: 1.02; letter-spacing: -0.015em; margin: 0px; text-wrap: balance}
.u028{font-style: italic; color: rgb(216, 184, 132)}
.u029{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: clamp(20px, 3.4vw, 32px) 0px clamp(26px, 4vw, 38px); max-width: 44ch; font-size: clamp(14.5px, 3.4vw, 17px); line-height: 1.8; font-weight: 400; color: rgba(245, 240, 232, 0.86); text-wrap: pretty}
.u030{display: flex; flex-wrap: wrap; gap: 12px}
.u031{display: flex; align-items: center; gap: 9px; background: rgb(176, 141, 87); color: rgb(255, 255, 255); padding: 13px 22px; min-height: 44px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; transition: background 400ms, color 400ms, transform 400ms cubic-bezier(0.16, 1, 0.3, 1)}
.u031:hover{background: rgb(154, 121, 71); color: rgb(255, 255, 255)}
.u032{font-size: 12px}
.u033{display: flex; align-items: center; border: 1px solid rgba(245, 240, 232, 0.7); color: rgb(245, 240, 232); padding: 13px 22px; min-height: 44px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; transition: background 400ms, color 400ms, border-color 400ms, transform 400ms cubic-bezier(0.16, 1, 0.3, 1)}
.u033:hover{background: rgb(245, 240, 232); border-color: rgb(245, 240, 232); color: rgb(42, 36, 30)}
.u034{position: absolute; left: clamp(18px, 5vw, 64px); right: clamp(18px, 5vw, 64px); bottom: clamp(22px, 4vw, 40px); display: flex; align-items: center; justify-content: center; gap: 20px; color: rgba(245, 240, 232, 0.8)}
.u035{display: flex; align-items: center; gap: 14px; color: inherit}
.u036{width: 38px; height: 38px; border: 1px solid rgba(245, 240, 232, 0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; animation: 2.8s ease-in-out 0s infinite normal none running tss-bob}
.u037{font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase}
.u038{position: absolute; right: 0px; bottom: 0px; display: flex; gap: 8px; align-items: center}
.u039{width: 26px; height: 26px; padding: 0px; border: 0px; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center}
.u040{display: block; width: 10px; height: 2px; background: rgba(245, 240, 232, 0.45); transition: width 500ms, background 500ms}
.u041{display: block; width: 26px; height: 2px; background: rgb(216, 184, 132); transition: width 500ms, background 500ms}
.u042{background: rgb(237, 230, 218); border-bottom: 1px solid rgba(42, 36, 30, 0.1)}
.u043{max-width: 1360px; margin: 0px auto; padding: clamp(26px, 4vw, 40px) clamp(18px, 5vw, 64px); display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: clamp(18px, 3vw, 28px)}
.u044{text-align: center; padding: 6px 10px; border-left: 1px solid rgba(42, 36, 30, 0.12)}
.u045{margin: 0px; font-family: Jost, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-weight: 500; font-size: clamp(30px, 5.2vw, 48px); line-height: 1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; background: linear-gradient(150deg, rgb(42, 36, 30), rgb(176, 141, 87)); -webkit-background-clip: text; background-clip: text; color: transparent}
.u046{font-size: 0.42em; color: rgb(176, 141, 87); vertical-align: 0.32em; margin-left: 2px}
.u047{margin: 8px 0px 0px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(110, 100, 87)}
.stat-google-link{display: contents; color: inherit; text-decoration: none}
.stat-google-link:hover .u045, .stat-google-link:hover .u047{transform: translateY(-2px)}
.stat-google-link:hover .u047{color: rgb(176, 141, 87)}
.stat-google-link .u045, .stat-google-link .u047{transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1)}
.stat-google-arrow{display: inline-block; color: inherit; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.stat-google-link:hover .stat-google-arrow{transform: translate(3px, -3px)}
.u048{padding: clamp(66px, 10vw, 132px) clamp(18px, 5vw, 64px); max-width: 1360px; margin: 0px auto}
.u049{border-top: 1px solid rgba(42, 36, 30, 0.18); padding-top: clamp(22px, 3vw, 34px); margin-bottom: clamp(30px, 4.5vw, 56px); max-width: 78ch}
.u050{font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87); margin: 0px 0px 16px}
.u051{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(28px, 4.6vw, 50px); line-height: 1.12; margin: 0px 0px 18px; text-wrap: balance}
.u052{font-style: italic; color: rgb(138, 110, 62)}
.u053{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 15px; line-height: 1.85; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u054{display: grid; gap: 1px; background: rgb(245, 240, 232)}
.u055{background: rgb(245, 240, 232); box-shadow: rgba(42, 36, 30, 0.14) 0px 0px 0px 1px; padding: clamp(20px, 2.2vw, 26px) clamp(18px, 2vw, 22px); min-height: 0px; display: flex; flex-direction: column; gap: 13px; transition: background 500ms}
.u056{display: flex; align-items: center; justify-content: space-between; gap: 14px}
.u057{font-family: "Cormorant Garamond", serif; font-size: 15px; color: rgb(176, 141, 87)}
.u058{margin: 0px; font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1.6}
.u059{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 13.5px; line-height: 1.8; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u060{position: relative; aspect-ratio: 1695 / 862; display: flex; align-items: center; background-color: rgb(237, 230, 218); background-image: url("../images/studio-philosophy.jpg"); background-image: image-set(url("../images/webp/studio-philosophy.webp") type("image/webp"), url("../images/studio-philosophy.jpg") type("image/jpeg")); background-size: 100% 100%; background-position: center center; overflow: hidden; margin-bottom: -1px}
.u061{position: absolute; inset: -8%; pointer-events: none; mix-blend-mode: multiply; opacity: 0.5; animation: 17s ease-in-out 0s infinite alternate none running tss-sway; background: radial-gradient(38% 30% at 22% 26%, rgba(58, 50, 42, 0.42) 0%, rgba(58, 50, 42, 0) 70%), radial-gradient(30% 26% at 62% 18%, rgba(58, 50, 42, 0.3) 0%, rgba(58, 50, 42, 0) 72%), radial-gradient(34% 40% at 44% 70%, rgba(58, 50, 42, 0.26) 0%, rgba(58, 50, 42, 0) 74%)}
.u062{position: absolute; inset: 0px; background: linear-gradient(270deg, rgba(245, 240, 232, 0.82) 0%, rgba(245, 240, 232, 0.5) 44%, rgba(245, 240, 232, 0) 76%)}
.u063{position: relative; width: 100%; max-width: 1360px; margin: 0px auto; padding: clamp(30px, 5vw, 60px) clamp(18px, 5vw, 64px); display: flex; align-items: flex-end; justify-content: flex-end; text-align: right; color: rgb(42, 36, 30)}
.u064{margin: 0px 0px 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(138, 110, 62)}
.u065{margin: 0px; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(24px, 4.4vw, 48px); line-height: 1.2; max-width: 26ch; text-wrap: balance}
.u066{position: relative; overflow: hidden; background: rgb(58, 63, 47); color: rgb(245, 240, 232); padding: clamp(60px, 9vw, 120px) clamp(18px, 5vw, 64px)}
.u067{position: absolute; inset: 0px; width: 100%; height: 100%; mix-blend-mode: screen; opacity: 0.42; pointer-events: none}
.u068{position: relative; max-width: 1360px; margin: 0px auto; display: grid; gap: clamp(30px, 5vw, 72px)}
.u069{font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(216, 184, 132); margin: 0px 0px 20px}
.u070{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(28px, 5.2vw, 50px); line-height: 1.14; margin: 0px 0px 22px; max-width: 16ch}
.u071{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; max-width: 38ch; font-size: 14px; line-height: 1.85; font-weight: 400; color: rgba(245, 240, 232, 0.72)}
.u072{min-width: 0px; display: grid; grid-auto-rows: 1fr; gap: clamp(14px, 1.6vw, 20px)}
.u073{display: flex; flex-direction: column; gap: 13px; padding: clamp(20px, 2vw, 26px); border: 1px solid rgba(245, 240, 232, 0.2); background: rgba(245, 240, 232, 0.03); transition: background 500ms, border-color 500ms}
.u074{margin: 0px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1.6}
.u075{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 13.5px; line-height: 1.8; font-weight: 400; color: rgba(245, 240, 232, 0.8); text-wrap: pretty}
.u076{font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87); margin: 0px 0px 20px}
.u077{display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; justify-content: space-between; margin-bottom: clamp(26px, 4vw, 44px)}
.u078{max-width: 56ch}
.u079{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(28px, 5.4vw, 54px); line-height: 1.12; margin: 0px 0px 16px}
.u080{font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u081{display: grid; gap: clamp(16px, 2.2vw, 28px) clamp(14px, 2vw, 24px)}
.u082{cursor: pointer}
.u083{position: relative; aspect-ratio: 4 / 3; background: linear-gradient(150deg, rgb(227, 218, 203), rgb(203, 192, 174)); overflow: hidden}
picture{display: contents}
.u084{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.92) contrast(1.04) sepia(0.06); transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1)}
.u085{position: absolute; top: 14px; left: 14px; background: rgba(42, 36, 30, 0.72); color: rgb(245, 240, 232); padding: 6px 12px; font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase}
.u086{display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 16px 2px 0px}
.u087{margin: 0px 0px 6px; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(19px, 3.6vw, 24px)}
.u088{margin: 0px; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u089{font-size: 14px; color: rgb(176, 141, 87)}
.u090{background: rgb(237, 230, 218)}
.u091{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); align-items: stretch}
.u092{position: relative; min-height: clamp(260px, 42vw, 460px); background-color: rgb(216, 205, 187); background-image: url("../images/external/c724a564-0656-4a4c-9467-b3e123e8f91a.jpg"); background-image: image-set(url("../images/webp/c724a564-0656-4a4c-9467-b3e123e8f91a.webp") type("image/webp"), url("../images/external/c724a564-0656-4a4c-9467-b3e123e8f91a.jpg") type("image/jpeg")); background-size: cover; background-position: center center; overflow: hidden}
.u093{box-sizing: border-box; padding: clamp(34px, 6vw, 80px) clamp(20px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; gap: clamp(20px, 3vw, 30px)}
@media (min-width: 700px) {
  .u091{height: clamp(560px, 46vw, 640px)}
  .u092{height: 100%}
  .u093{height: 100%; overflow: hidden}
}
.u094{margin: 0px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87)}
.u095{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(26px, 4.6vw, 42px); line-height: 1.16; margin: 0px; max-width: 18ch; min-height: 2.32em}
.u096{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: clamp(15px, 3.4vw, 18px); line-height: 1.85; font-weight: 400; color: rgb(74, 66, 56); max-width: 46ch; min-height: 5.55em; text-wrap: pretty}
.u097{display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap}
.u098{display: flex; align-items: center; gap: 14px}
.u099{width: 68px; height: 68px; flex: 0 0 auto; border-radius: 50%; background-color: rgb(42, 36, 30); background-image: url("../images/external/725d17f9-65a1-4bea-9ec9-748e2066bccb.jpg"); background-image: image-set(url("../images/webp/725d17f9-65a1-4bea-9ec9-748e2066bccb.webp") type("image/webp"), url("../images/external/725d17f9-65a1-4bea-9ec9-748e2066bccb.jpg") type("image/jpeg")); background-size: cover; background-position: center 28%; box-shadow: rgba(42, 36, 30, 0.14) 0px 0px 0px 1px, rgba(42, 36, 30, 0.16) 0px 6px 16px}
.testi-ring-wrap{position: relative; width: 76px; height: 76px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; perspective: 600px}
.testi-ring-wrap .u099{width: 68px; height: 68px}
.testi-ring{position: absolute; inset: 0px; width: 76px; height: 76px; transform: rotate(-90deg); pointer-events: none}
.testi-ring-track{fill: none; stroke: rgba(42, 36, 30, 0.14); stroke-width: 2}
.testi-ring-fill{fill: none; stroke: rgb(176, 141, 87); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 220; stroke-dashoffset: 220; transition: stroke-dashoffset linear}
@keyframes testi-flip{from{transform: rotateY(0deg)} to{transform: rotateY(360deg)}}
.u099.is-flipping{animation: testi-flip 700ms cubic-bezier(0.4, 0, 0.2, 1)}
.u095, .u096, [data-testimonial-meta]{transition: opacity 260ms ease}
.u095.is-fading, .u096.is-fading, [data-testimonial-meta].is-fading{opacity: 0}
.u100{display: block; margin-bottom: 4px; font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase}
.u101{display: block; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u102{display: flex; align-items: center; gap: 16px}
.u103{display: flex; gap: 8px}
.u104{width: 22px; height: 22px; padding: 0px; border: 0px; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center}
.u104:hover .u105, .u104:hover .u106{background-color: rgba(42, 36, 30, 0.45)}
.u105, .u106{display: block; width: 16px; height: 4px; border-radius: 2px; background-color: rgba(42, 36, 30, 0.18); transition: background-color 250ms, width 250ms}
.u105{width: 26px; background-color: rgb(176, 141, 87)}
.u107{width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(42, 36, 30, 0.28); background: none; cursor: pointer; font-size: 12px}
.u108{background: rgb(42, 36, 30); color: rgb(245, 240, 232)}
.u109{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: stretch}
.u110{padding: clamp(40px, 7vw, 96px) clamp(20px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; gap: clamp(18px, 3vw, 28px)}
.u111{margin: 0px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(216, 184, 132)}
.u112{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(30px, 5.6vw, 58px); line-height: 1.08; margin: 0px; max-width: 14ch}
.u113{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; max-width: 44ch; font-size: 15px; line-height: 1.9; font-weight: 400; color: rgba(245, 240, 232, 0.76); text-wrap: pretty}
.u114{align-self: flex-start; display: flex; align-items: center; gap: 9px; color: rgb(245, 240, 232); font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; border-bottom: 1px solid rgba(245, 240, 232, 0.5); padding-bottom: 7px}
.u115{position: relative; min-height: clamp(280px, 46vw, 520px); background: linear-gradient(150deg, rgb(74, 66, 56), rgb(42, 36, 30)); overflow: hidden}
.u116{width:100%; height:100%; object-fit:contain; display:block}
.u117{background: rgb(245, 240, 232); padding: clamp(50px, 8vw, 96px) clamp(18px, 5vw, 64px)}
.u118{max-width: 1360px; margin: 0px auto; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between}
.u119{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(26px, 5vw, 46px); line-height: 1.12; margin: 0px; max-width: 22ch}
.u120{display: flex; flex-wrap: wrap; gap: 12px; align-items: center}
.u121{display: flex; align-items: center; border: 1px solid rgba(42, 36, 30, 0.4); color: rgb(42, 36, 30); font-weight: 600; padding: 13px 22px; min-height: 44px; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; transition: background 350ms, color 350ms, border-color 350ms}
.u121:hover{background: rgb(42, 36, 30); border-color: rgb(42, 36, 30); color: rgb(245, 240, 232)}
.u122{display: flex; align-items: center; gap: 9px; background: rgb(176, 141, 87); color: rgb(255, 255, 255); padding: 13px 24px; min-height: 44px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; box-shadow: 0 0 0 rgba(42, 36, 30, 0); transition: background 400ms, color 400ms, transform 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms}
.u122:hover{background: rgb(154, 121, 71); color: rgb(255, 255, 255); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(42, 36, 30, 0.22)}
.u122 .u032{display: inline-block; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.u122:hover .u032{transform: translate(3px, -3px)}
.u123{background: rgb(237, 230, 218); border-top: 1px solid rgba(42, 36, 30, 0.12); padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 64px) 22px}
.u124{max-width: 1360px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: clamp(26px, 4vw, 52px)}
.u125{display: flex; flex-direction: column; gap: 16px}
.u126{height: 92px; width: auto; align-self: flex-start}
.u127{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; max-width: 30ch; font-size: 12.5px; line-height: 1.85; font-weight: 400; color: rgb(91, 83, 71)}
.u128{display: flex; flex-wrap: wrap; gap: 10px}
.u129{width: 38px; height: 38px; border: 1px solid rgba(42, 36, 30, 0.24); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 9.5px; letter-spacing: 0.08em; transition: background 350ms, color 350ms}
.u129b{box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 7px; width: 190px; padding: 7px 16px; border-radius: 999px; font-size: 9.5px; font-weight: 600; letter-spacing: 0.08em; white-space: nowrap; box-shadow: 0 0 0 rgba(42, 36, 30, 0); transition: background 350ms, border-color 350ms, transform 350ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 350ms, filter 350ms}
.u129b svg{flex: 0 0 auto; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.u129b:hover{transform: translateY(-2px)}
.badge-instagram{background: linear-gradient(135deg, #FFD600, #FF7A00 30%, #FF0169 60%, #D300C5); border: none; color: #fff}
.badge-instagram:hover{filter: brightness(1.08)}
.badge-google{background: #fff; border: 1px solid rgba(42, 36, 30, 0.22); color: rgb(42, 36, 30)}
.badge-google:hover{background: rgb(248, 248, 248); box-shadow: 0 10px 22px rgba(42, 36, 30, 0.16)}
.u129b:hover svg{transform: scale(1.15) rotate(-4deg)}
.u130{display: flex; flex-direction: column; gap: 11px}
.u131{margin: 0px 0px 5px; font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u132{font-size: 13px; font-weight: 400}
.u133{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 13px; line-height: 1.85; font-weight: 400; color: rgb(91, 83, 71)}
.u134{max-width: 1360px; margin: clamp(32px, 5vw, 56px) auto 0px; padding-top: 20px; border-top: 1px solid rgba(42, 36, 30, 0.12); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u135{display: flex; gap: 20px}
.u136{color: inherit}
.u137{position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 45; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(42, 36, 30, 0.16); box-shadow: rgba(42, 36, 30, 0.16) 0px -10px 28px; padding-bottom: env(safe-area-inset-bottom)}
.u138{display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; background: rgb(245, 240, 232); color: rgb(42, 36, 30); font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase}
.u139{display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; background: rgb(176, 141, 87); color: rgb(255, 255, 255); font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; transition: background 400ms, color 400ms}
.u139:hover{background: rgb(154, 121, 71); color: rgb(255, 255, 255)}
.u139 .u032{display: inline-block; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.u139:hover .u032{transform: translate(3px, -3px)}
.u140{position: fixed; inset: 0px; z-index: 60; background: rgb(245, 240, 232); overflow-y: auto}
.u141{position: sticky; top: 0px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px clamp(18px, 5vw, 54px); background: rgba(245, 240, 232, 0.92); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(42, 36, 30, 0.12)}
.u142{display: flex; align-items: center; gap: 10px; min-height: 44px; background: none; border: 0px; cursor: pointer; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(42, 36, 30)}
.u143{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/a01.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u144{position: absolute; inset: 0px; background: linear-gradient(rgba(28, 24, 20, 0.28) 0%, rgba(28, 24, 20, 0) 40%, rgba(28, 24, 20, 0.62) 100%)}
.u145{position: absolute; left: clamp(20px, 5vw, 64px); right: clamp(20px, 5vw, 64px); bottom: clamp(24px, 4vw, 48px); color: rgb(245, 240, 232)}
.u146{margin: 0px 0px 12px; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: rgb(216, 184, 132)}
.u147{margin: 0px; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(32px, 7vw, 76px); line-height: 1.02}
.u148{max-width: 1160px; margin: 0px auto; padding: clamp(34px, 6vw, 80px) clamp(20px, 5vw, 64px) clamp(60px, 9vw, 120px)}
.u149{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(34px, 6vw, 72px)}
.u150{margin: 0px 0px 18px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87)}
.u151{margin: 0px 0px 20px; font-family: "Cormorant Garamond", serif; font-size: clamp(20px, 4vw, 30px); line-height: 1.4; font-weight: 400; color: rgb(42, 36, 30); text-wrap: pretty}
.u152{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px 0px 18px; font-size: 14.5px; line-height: 1.9; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u153{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 14.5px; line-height: 1.9; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u154{display: flex; flex-direction: column; gap: 1px; background: rgba(42, 36, 30, 0.14); border: 1px solid rgba(42, 36, 30, 0.14); align-self: start}
.u155{background: rgb(245, 240, 232); padding: 18px 20px; display: flex; justify-content: space-between; gap: 18px; align-items: baseline}
.u156{font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u157{font-family: "Cormorant Garamond", serif; font-size: 17px; text-align: right}
.u158{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(12px, 2vw, 20px); margin-bottom: clamp(34px, 6vw, 72px)}
.u159{margin: 0px; grid-column: span 2}
.u160{position: relative; aspect-ratio: 16 / 10; background: linear-gradient(150deg, rgb(227, 218, 203), rgb(201, 189, 169)); overflow: hidden; cursor: zoom-in}
.u161{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.92) contrast(1.04) sepia(0.06); transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1)}
.u162{position: absolute; right: 12px; bottom: 12px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: rgba(42, 36, 30, 0.6); color: rgb(245, 240, 232); font-size: 13px}
.u163{margin-top: 10px; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(138, 127, 112)}
.u164{margin: 0px; grid-column: auto}
.u165{position: relative; aspect-ratio: 4 / 5; background: linear-gradient(150deg, rgb(227, 218, 203), rgb(201, 189, 169)); overflow: hidden; cursor: zoom-in}
.u166{margin: 0px 0px 22px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87)}
.u167{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: clamp(18px, 3vw, 32px); margin-bottom: clamp(34px, 6vw, 64px)}
.u168{border-top: 1px solid rgba(42, 36, 30, 0.18); padding-top: 18px; display: flex; flex-direction: column; gap: 10px}
.u169{margin: 0px; font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase}
.u170{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 13px; line-height: 1.8; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u171{margin: 0px 0px clamp(34px, 5vw, 60px); padding: clamp(26px, 4vw, 44px); background: rgb(237, 230, 218); font-family: "Cormorant Garamond", serif; font-size: clamp(19px, 3.8vw, 28px); line-height: 1.5; font-weight: 400; color: rgb(42, 36, 30); max-width: 38ch; text-wrap: pretty}
.u172{display: flex; align-items: center; gap: 14px; margin-top: 22px; font-family: Jost, sans-serif}
.u173{display: flex; align-items: center; gap: 9px; background: rgb(176, 141, 87); color: rgb(255, 255, 255); padding: 14px 24px; min-height: 46px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; box-shadow: 0 0 0 rgba(42, 36, 30, 0); transition: background 400ms, color 400ms, transform 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms}
.u173:hover{background: rgb(154, 121, 71); color: rgb(255, 255, 255); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(42, 36, 30, 0.22)}
.u173 .u032{display: inline-block; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.u173:hover .u032{transform: translate(3px, -3px)}
.u174{display: flex; align-items: center; border: 1px solid rgba(42, 36, 30, 0.3); background: none; color: rgb(42, 36, 30); padding: 14px 24px; min-height: 46px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer}
.u175{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/b05.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u176{width: 46px; height: 46px; flex: 0 0 auto; border-radius: 50%; background-color: rgb(42, 36, 30); background-image: url("../images/external/0a4358de-be3b-40b7-b53c-53215ecd2d2e.jpg"); background-image: image-set(url("../images/webp/0a4358de-be3b-40b7-b53c-53215ecd2d2e.webp") type("image/webp"), url("../images/external/0a4358de-be3b-40b7-b53c-53215ecd2d2e.jpg") type("image/jpeg")); background-size: cover; background-position: center 28%; box-shadow: rgba(42, 36, 30, 0.18) 0px 0px 0px 1px}
.u177{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/c02.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u178{width: 46px; height: 46px; flex: 0 0 auto; border-radius: 50%; background-color: rgb(42, 36, 30); background-image: url("../images/external/508602b4-eeb0-4882-9643-30479f059948.jpg"); background-image: image-set(url("../images/webp/508602b4-eeb0-4882-9643-30479f059948.webp") type("image/webp"), url("../images/external/508602b4-eeb0-4882-9643-30479f059948.jpg") type("image/jpeg")); background-size: cover; background-position: center 28%; box-shadow: rgba(42, 36, 30, 0.18) 0px 0px 0px 1px}
.u179{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/d01.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u180{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/f01.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u181{position: relative; height: clamp(280px, 56vh, 660px); background-color: rgb(216, 205, 187); background-image: url("../opt/e01.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u182{position: sticky; top: 0px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px clamp(18px, 5vw, 54px); background: rgba(245, 240, 232, 0.94); border-bottom: 1px solid rgba(42, 36, 30, 0.12)}
.u183{background: rgb(42, 36, 30); color: rgb(245, 240, 232); padding: clamp(48px, 8vw, 110px) clamp(20px, 5vw, 64px)}
.u184{margin: 0px}
.story-hero-grid{max-width: 1160px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(30px, 5vw, 64px); align-items: center}
.story-hero-photo{position: relative; min-height: clamp(240px, 34vw, 380px); background-color: rgba(245, 240, 232, 0.06); background-image: url("../opt/founders.jpg"); background-size: contain; background-repeat: no-repeat; background-position: center center}
.u185{margin: 0px 0px 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(216, 184, 132)}
.u186{margin: 0px 0px 22px; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(34px, 7vw, 80px); line-height: 1.04; max-width: 16ch}
.u187{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; max-width: 52ch; font-size: clamp(15px, 2.6vw, 18px); line-height: 1.85; font-weight: 400; color: rgba(245, 240, 232, 0.78); text-wrap: pretty}
.u188{max-width: 1160px; margin: 0px auto; padding: clamp(40px, 7vw, 96px) clamp(20px, 5vw, 64px) clamp(60px, 9vw, 120px)}
.u189{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(26px, 4vw, 64px); margin-bottom: clamp(40px, 6vw, 84px)}
.u190{margin: 0px 0px 20px; font-family: "Cormorant Garamond", serif; font-size: clamp(20px, 3.6vw, 30px); line-height: 1.42; font-weight: 400; text-wrap: pretty}
.u191{position: relative; min-height: clamp(280px, 42vw, 460px); background-color: rgb(201, 189, 169); background-image: url("../opt/story-graphic.jpg"); background-size: cover; background-position: center center; overflow: hidden}
.u192{margin: 0px 0px 24px; font-size: 11px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: rgb(176, 141, 87)}
.u193{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(18px, 3vw, 32px); margin-bottom: clamp(40px, 6vw, 84px)}
.u194{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; font-size: 13.5px; line-height: 1.85; font-weight: 400; color: rgb(91, 83, 71); text-wrap: pretty}
.u200{position: fixed; inset: 0px; z-index: 90; background: rgba(20, 17, 14, 0.96); display: flex; flex-direction: column}
.u201{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px clamp(14px, 3vw, 28px); color: rgb(245, 240, 232); flex: 0 0 auto}
.u202{font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(245, 240, 232, 0.6)}
.u203{min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; background: none; border: 1px solid rgba(245, 240, 232, 0.28); color: rgb(245, 240, 232); font-size: 16px; cursor: pointer}
.u204{position: relative; flex: 1 1 auto; min-height: 0px; display: flex; align-items: center; justify-content: center; padding: 0px clamp(8px, 2vw, 24px)}
.u205{width: 100%; height: 100%; background-image: url("../opt/a01.jpg"); background-size: contain; background-position: center center; background-repeat: no-repeat}
.u206{position: absolute; left: clamp(6px, 1.6vw, 18px); top: 50%; transform: translateY(-50%); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: rgba(20, 17, 14, 0.55); border: 1px solid rgba(245, 240, 232, 0.26); color: rgb(245, 240, 232); font-size: 18px; cursor: pointer}
.u207{position: absolute; right: clamp(6px, 1.6vw, 18px); top: 50%; transform: translateY(-50%); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: rgba(20, 17, 14, 0.55); border: 1px solid rgba(245, 240, 232, 0.26); color: rgb(245, 240, 232); font-size: 18px; cursor: pointer}
.u208{flex: 0 0 auto; padding: 14px clamp(14px, 3vw, 28px) clamp(16px, 3vw, 26px); display: flex; flex-direction: column; gap: 12px}
.u209{margin: 0px; text-align: center; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(245, 240, 232, 0.72)}
.u210{display: flex; gap: 8px; overflow-x: auto; justify-content: flex-start; padding-bottom: 4px}
.u211{flex: 0 0 auto; width: 74px; height: 56px; padding: 0px; border: 1px solid rgb(216, 184, 132); background: none; opacity: 1; cursor: pointer; transition: opacity 300ms, border-color 300ms}
.u212{width: 100%; height: 100%; object-fit: cover; display: block}
.u213{flex: 0 0 auto; width: 74px; height: 56px; padding: 0px; border: 1px solid rgba(245, 240, 232, 0.22); background: none; opacity: 0.45; cursor: pointer; transition: opacity 300ms, border-color 300ms}
.faq-list{max-width: 78ch; border-top: 1px solid rgba(42, 36, 30, 0.18)}
.faq-item{border-bottom: 1px solid rgba(42, 36, 30, 0.18)}
.faq-q{cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0px; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(18px, 2.2vw, 23px); line-height: 1.35; color: rgb(42, 36, 30); transition: color 250ms}
.faq-q::-webkit-details-marker{display: none}
.faq-q::marker{content: ""}
.faq-q:hover{color: rgb(138, 110, 62)}
.faq-icon{position: relative; flex: none; width: 13px; height: 13px; transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}
.faq-icon::before, .faq-icon::after{content: ""; position: absolute; background: rgb(176, 141, 87)}
.faq-icon::before{top: 6px; left: 0px; width: 13px; height: 1px}
.faq-icon::after{left: 6px; top: 0px; width: 1px; height: 13px}
.faq-item[open] .faq-icon{transform: rotate(135deg)}
.faq-a{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px 0px 24px; padding-right: 37px; max-width: 62ch; font-size: 15px; line-height: 1.75; color: rgb(84, 76, 65); text-wrap: pretty}
.faq-steps{list-style: none; margin: 0px 0px 20px; padding: 0px 37px 0px 0px; max-width: 62ch}
.faq-steps li{padding: 0px 0px 15px}
.faq-steps li:last-child{padding-bottom: 0px}
.faq-step-n{display: block; font-size: 10.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(176, 141, 87); margin-bottom: 4px}
.faq-step-d{display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.7; color: rgb(84, 76, 65); text-wrap: pretty}
.faq-steps-note{margin-top: 0px; padding-top: 4px}
.faq-a a{color: rgb(138, 110, 62); text-decoration: none; white-space: nowrap; border-bottom: 1px solid rgba(176, 141, 87, 0.45); transition: color 250ms, border-color 250ms}
.faq-a a:hover{color: rgb(176, 141, 87); border-bottom-color: rgb(176, 141, 87)}

/* ---- Standalone SEO landing pages (projects/*, areas-we-serve) ---- */
.site-header{max-width: 1360px; margin: 0px auto; padding: 20px clamp(18px, 5vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid rgba(42, 36, 30, 0.12)}
.site-header .logo{display: block; flex: none}
.site-header .logo img{height: 52px; width: auto; display: block}
.site-header nav{display: flex; align-items: center; gap: clamp(14px, 2.4vw, 30px); flex-wrap: wrap}
.site-header nav a{font-size: 10.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(110, 100, 87); transition: color 250ms}
.site-header nav a:hover{color: rgb(176, 141, 87)}

.project-page{max-width: 72ch; margin: 0px auto; padding: clamp(46px, 7vw, 88px) clamp(18px, 5vw, 64px)}
.project-page h1{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(30px, 5vw, 52px); line-height: 1.12; letter-spacing: -0.01em; margin: 0px 0px 22px; text-wrap: balance}
.project-page p{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.8; color: rgb(84, 76, 65); margin: 0px 0px 18px; text-wrap: pretty}
.project-page p em{font-style: normal; display: inline-block; font-size: 10.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(176, 141, 87)}
.project-page ul{margin: 0px 0px 22px; padding: 0px; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0px 24px}
.project-page li{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.6; color: rgb(84, 76, 65); padding: 11px 0px; border-bottom: 1px solid rgba(42, 36, 30, 0.1)}
.project-page a{color: rgb(138, 110, 62); border-bottom: 1px solid rgba(176, 141, 87, 0.45); transition: color 250ms, border-color 250ms}
.project-page a:hover{color: rgb(176, 141, 87); border-bottom-color: rgb(176, 141, 87)}

.site-footer{border-top: 1px solid rgba(42, 36, 30, 0.12); background: rgb(237, 230, 218); padding: clamp(34px, 5vw, 56px) clamp(18px, 5vw, 64px)}
.site-footer p{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 1360px; margin: 0px auto 12px; font-size: 13.5px; line-height: 1.8; color: rgb(91, 83, 71); text-wrap: pretty}
.site-footer p:last-child{margin-bottom: 0px; font-size: 11px; letter-spacing: 0.06em; color: rgb(126, 116, 102)}
.site-footer a{color: rgb(138, 110, 62); transition: color 250ms}
.site-footer a:hover{color: rgb(176, 141, 87)}
.dialog-page-link{margin: 18px 0px 0px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.7}
.dialog-page-link a{color: rgb(138, 110, 62); border-bottom: 1px solid rgba(176, 141, 87, 0.45); transition: color 250ms, border-color 250ms}
.dialog-page-link a:hover{color: rgb(176, 141, 87); border-bottom-color: rgb(176, 141, 87)}
.project-page h2{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(22px, 3vw, 32px); line-height: 1.2; margin: 40px 0px 14px}
.project-gallery{display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin: 30px 0px 34px}
.project-shot{margin: 0px}
.project-shot picture{display: contents}
.project-shot img{width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; filter: saturate(0.92) contrast(1.04) sepia(0.06)}
.project-shot figcaption{margin-top: 8px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(126, 116, 102)}
.project-quote{margin: 34px 0px; padding: 26px clamp(20px, 4vw, 34px); background: rgb(237, 230, 218)}
.project-quote p{font-family: "Cormorant Garamond", serif; font-size: clamp(19px, 2.6vw, 26px); line-height: 1.35; color: rgb(42, 36, 30); margin: 0px 0px 14px; text-wrap: balance}
.project-quote cite{font-style: normal; font-size: 10.5px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(126, 116, 102)}
.area-list{display: block !important; margin: 0px 0px 22px}
.area-list li{padding: 16px 0px; border-bottom: 1px solid rgba(42, 36, 30, 0.1)}
.area-list a{border-bottom: none}
.area-list strong{font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(19px, 2.4vw, 24px); color: rgb(42, 36, 30); transition: color 250ms}
.area-list a:hover strong{color: rgb(176, 141, 87)}
.area-tag{display: inline-block; margin-left: 10px; font-size: 9.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(176, 141, 87)}
.area-note{display: block; margin-top: 5px; font-size: 14px; line-height: 1.7; color: rgb(84, 76, 65)}
.service-siblings{margin: 44px 0px 0px; padding-top: 26px; border-top: 1px solid rgba(42, 36, 30, 0.18)}
.service-siblings p{font-size: 10.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(176, 141, 87); margin: 0px 0px 14px}
.service-siblings ul{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0px 24px; margin: 0px; padding: 0px; list-style: none}
.service-siblings li{padding: 10px 0px; border-bottom: 1px solid rgba(42, 36, 30, 0.1); font-size: 14px}
.service-siblings a{color: rgb(138, 110, 62); border-bottom: none}
.service-siblings a:hover{color: rgb(176, 141, 87)}
.hero-eyebrow{display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: clamp(10px, 1.4vw, 11.5px); font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: rgb(216, 184, 132); margin-bottom: clamp(14px, 2vw, 20px); line-height: 1.5; text-wrap: wrap}
.hero-line{display: block; max-width: 15ch}

/* ---- Areas hub: map + per-area sections ---- */
.areas-page{max-width: 78ch}
.areas-map-wrap{width: min(1180px, 94vw); margin: 38px 0px 50px 50%; transform: translateX(-50%); padding: clamp(18px, 2.6vw, 30px); background: rgb(237, 230, 218)}
.areas-map-figure{min-width: 0px}
.areas-map{display: block; width: 100%; height: auto}
.map-river{fill: none; stroke: rgba(122, 142, 138, 0.5); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round}
.map-ring{fill: none; stroke: rgba(42, 36, 30, 0.09); stroke-width: 1.2; stroke-dasharray: 2 7}
.map-dot{fill: rgb(176, 141, 87)}

.map-name{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 500; fill: rgb(60, 51, 41); letter-spacing: 0.01em}

.map-studio-ring{fill: none; stroke: rgb(42, 36, 30); stroke-width: 1.1; opacity: 0.45}
.map-studio-dot{fill: rgb(42, 36, 30)}
.map-studio-label{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; fill: rgb(42, 36, 30)}
.areas-map-note{margin: 14px 0px 0px !important; font-size: 11.5px !important; line-height: 1.6; color: rgb(126, 116, 102) !important; max-width: none !important}
.area-entry{padding: 26px 0px; border-top: 1px solid rgba(42, 36, 30, 0.12)}
.area-entry:first-of-type{border-top: none}
.area-entry h3{font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(20px, 2.6vw, 27px); line-height: 1.2; margin: 0px 0px 12px; color: rgb(42, 36, 30)}
.area-entry h3 a{border-bottom: none; color: rgb(42, 36, 30); transition: color 250ms}
.area-entry h3 a:hover{color: rgb(176, 141, 87)}
.area-entry p{margin: 0px 0px 12px; font-size: 15px; line-height: 1.75; color: rgb(84, 76, 65); text-wrap: pretty}
.area-entry p:last-child{margin-bottom: 0px}
@media (max-width: 640px){
  .areas-map-wrap{grid-template-columns: 1fr; gap: 22px}
  .areas-map-list{columns: 2; column-gap: 18px}
}
.areas-map-list li{border-bottom: none !important; padding: 5px 0px !important}
.map-ring{fill: none; stroke: rgba(42, 36, 30, 0.14); stroke-width: 1; stroke-dasharray: 3 5}
.map-ring-label{fill: rgba(126, 116, 102, 0.85); font-size: 10px; letter-spacing: 0.1em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}
.crumbs{font-size: 10.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(126, 116, 102); margin: 0px 0px 20px}
.crumbs a{color: rgb(138, 110, 62); border-bottom: none}
.crumbs a:hover{color: rgb(176, 141, 87)}
.crumbs span{opacity: 0.55; margin: 0px 4px}
.area-page .faq-list, .area-page .faq-item{max-width: none}
.area-page .faq-item{border-bottom: 1px solid rgba(42, 36, 30, 0.18)}
.area-page .faq-item:first-of-type{border-top: 1px solid rgba(42, 36, 30, 0.18)}
@media (max-width: 700px){
  /* below this the map would render labels at ~5px, so let it scroll at a legible width */
  .areas-map-figure{overflow-x: auto; -webkit-overflow-scrolling: touch}
  .areas-map{min-width: 640px}
  .areas-map-note::after{content: " Scroll the map sideways to see the eastern areas."; color: rgb(146, 136, 122)}
}

/* ---- Trust banner directly under the hero ---- */
.trust-banner{background: rgb(245, 240, 232); border-bottom: 1px solid rgba(42, 36, 30, 0.1)}
.trust-list{max-width: 1360px; margin: 0px auto; padding: clamp(26px, 4vw, 40px) clamp(18px, 5vw, 64px); list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: clamp(20px, 3vw, 44px)}
.trust-list li{padding-left: clamp(16px, 2vw, 26px); border-left: 1px solid rgba(176, 141, 87, 0.45)}
.trust-list b{display: block; font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: clamp(21px, 2.3vw, 26px); line-height: 1.15; letter-spacing: 0; color: rgb(42, 36, 30); margin-bottom: 8px}

.trust-list span{display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 13.5px; line-height: 1.75; color: rgb(91, 83, 71); text-wrap: pretty}
@media (max-width: 760px){
  .trust-list{grid-template-columns: 1fr; gap: 20px}
  .trust-list li{padding-left: 14px}
}
.turnkey-scope{margin: 0px 0px 24px; padding: 0px 0px 0px 0px; list-style: none; max-width: 62ch}
.turnkey-scope li{position: relative; padding: 9px 0px 9px 22px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.6; color: rgb(84, 76, 65); border-bottom: 1px solid rgba(42, 36, 30, 0.09)}
.turnkey-scope li::before{content: ""; position: absolute; left: 2px; top: 18px; width: 6px; height: 6px; background: rgb(176, 141, 87); border-radius: 50%}
.turnkey-scope li:last-child{border-bottom: none}
/* Word units ("days") render smaller than the figure so the stat never wraps
   in the narrow 5-column layout. Mirrors how the star suffix is treated. */
.stat-unit{font-size: 0.44em; color: inherit; vertical-align: baseline; margin-left: 1px; letter-spacing: 0}

/* ---- Trust banner icons ---- */
.trust-icon{display: block; margin-bottom: 6px; overflow: visible}
.trust-icon path, .trust-icon circle{stroke-linecap: round; stroke-linejoin: round; transition: fill 420ms ease}
.trust-list li:hover .trust-icon{transform: translateY(-5px)}
.trust-icon{transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1)}
.trust-list li:hover .trust-icon path, .trust-list li:hover .trust-icon circle{fill: rgba(138, 110, 62, 0.14)}
/* stroke-draw: JS measures each shape and sets the dash values, then flips this class */
.trust-banner.is-drawn .trust-icon path, .trust-banner.is-drawn .trust-icon circle{stroke-dashoffset: 0 !important}
@media (prefers-reduced-motion: reduce){
  .trust-icon path, .trust-icon circle{stroke-dasharray: none !important; stroke-dashoffset: 0 !important}
  .trust-list li:hover .trust-icon{transform: none}
}

/* ---- Generated area + guide pages ---- */
.area-page ul{display: block; grid-template-columns: none; margin: 0px 0px 24px}
.area-page li{padding: 12px 0px; border-bottom: 1px solid rgba(42, 36, 30, 0.1)}
.area-page li:last-child{border-bottom: none}
.area-page li strong{font-weight: 600; color: rgb(60, 51, 41)}
.gallery-note{margin: -22px 0px 30px !important; font-size: 11.5px !important; line-height: 1.65; color: rgb(126, 116, 102) !important}
.guide-note{margin: 0px 0px 30px !important; padding: 16px 20px; background: rgb(237, 230, 218); border-left: 2px solid rgb(176, 141, 87); font-size: 13.5px !important; line-height: 1.7; color: rgb(84, 76, 65) !important}
.guide-index{display: block !important; margin: 0px 0px 8px}
.guide-index li{padding: 15px 0px}
.guide-index a{border-bottom: none}
.guide-index strong{display: block; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(19px, 2.4vw, 24px); line-height: 1.25; color: rgb(42, 36, 30); transition: color 250ms}
.guide-index a:hover strong{color: rgb(176, 141, 87)}
.guide-index span{display: block; margin-top: 4px; font-size: 14px; line-height: 1.7; color: rgb(84, 76, 65)}

/* ---- Area page hero: same treatment as the homepage hero ---- */
.area-hero{position: relative; min-height: min(56svh, 500px); display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(74px, 9vw, 108px) clamp(18px, 5vw, 64px) clamp(34px, 4.5vw, 54px); overflow: hidden; background: rgb(42, 36, 30)}
.area-hero-img{position: absolute; inset: 0px; background-size: cover; background-position: center 55%; filter: saturate(0.92) contrast(1.04) sepia(0.06)}
.area-hero-scrim{position: absolute; inset: 0px; background: linear-gradient(94deg, rgba(28, 24, 20, 0.93) 0%, rgba(28, 24, 20, 0.88) 30%, rgba(28, 24, 20, 0.7) 54%, rgba(28, 24, 20, 0.36) 100%)}
.area-hero-scrim-b{position: absolute; inset: 0px; background: linear-gradient(rgba(28, 24, 20, 0.42) 0%, rgba(28, 24, 20, 0) 38%, rgba(28, 24, 20, 0.4) 100%)}
.area-hero-inner{position: relative; width: 100%; max-width: 1360px; margin: 0px auto; color: rgb(245, 240, 232)}
.area-hero .crumbs{color: rgba(245, 240, 232, 0.62); margin: 0px 0px 18px}
.area-hero .crumbs a{color: rgba(245, 240, 232, 0.82)}
.area-hero .crumbs a:hover{color: rgb(216, 184, 132)}
.area-hero-eyebrow{display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: clamp(10px, 1.4vw, 11.5px); font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: rgb(216, 184, 132); margin: 0px 0px clamp(12px, 1.8vw, 18px); line-height: 1.5}
.area-hero h1{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(33px, 5.6vw, 64px); line-height: 1.05; letter-spacing: -0.015em; margin: 0px; color: rgb(245, 240, 232); text-wrap: balance}
.area-hero-sub{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: clamp(16px, 2.4vw, 22px) 0px clamp(24px, 3.4vw, 32px); max-width: 54ch; font-size: clamp(14.5px, 3.4vw, 17px); line-height: 1.8; color: rgba(245, 240, 232, 0.88); text-wrap: pretty}

/* Prose keeps a readable measure; galleries break out wider than the text column
   so the photography is not squeezed into it (same break-out the areas map uses). */
.area-page{max-width: 90ch}
.area-page .project-gallery{width: min(1180px, 92vw); margin: 40px 0px 46px 50%; transform: translateX(-50%); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px}
.area-page .project-shot img{aspect-ratio: 3 / 2}
.area-page p{font-size: 16px; line-height: 1.85}
.area-page li{font-size: 16px}
.area-page .project-shot figcaption{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 12.5px; font-weight: 500; letter-spacing: 0.005em; text-transform: none; color: rgb(112, 102, 89); line-height: 1.55; margin-top: 11px}
.area-page .project-shot figcaption a{color: rgb(138, 110, 62); font-weight: 600; border-bottom: none}
.area-page .project-shot figcaption a:hover{border-bottom: 1px solid rgba(176, 141, 87, 0.5)}
@media (max-width: 700px){
  .area-hero{min-height: min(62svh, 440px)}
}

/* ---- Area page bands: FAQ + closing CTA ---- */
.area-faq{background: rgb(245, 240, 232); border-top: 1px solid rgba(42, 36, 30, 0.1); padding: clamp(56px, 8vw, 96px) clamp(18px, 5vw, 64px)}
.area-faq-inner{max-width: 900px; margin: 0px auto}
.area-faq .u069{color: rgb(176, 141, 87)}
.area-faq h2{font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: clamp(26px, 4.4vw, 42px); line-height: 1.15; margin: 0px 0px 34px; color: rgb(42, 36, 30); text-wrap: balance}
.area-faq .faq-list, .area-faq .faq-item{max-width: none}
.area-faq .faq-item{border-bottom: 1px solid rgba(42, 36, 30, 0.18)}
.area-faq .faq-item:first-of-type{border-top: 1px solid rgba(42, 36, 30, 0.18)}


/* the two prose halves sit on the page ground; the bands supply the rhythm */
.area-page{padding-top: clamp(44px, 6vw, 76px); padding-bottom: clamp(44px, 6vw, 76px)}

/* ---- CTA legibility + clickable project images ---- */
/* White on this gold fails contrast at 10px/0.2em; near-black on gold passes. */

.shot-link{display: block; position: relative; overflow: hidden; border-bottom: none}
.shot-link img{transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1)}
.shot-link:hover img, .shot-link:focus-visible img{transform: scale(1.04)}
.shot-hint{position: absolute; left: 0px; right: 0px; bottom: 0px; padding: 30px 14px 12px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(245, 240, 232); background: linear-gradient(rgba(28, 24, 20, 0) 0%, rgba(28, 24, 20, 0.72) 100%); opacity: 0; transition: opacity 350ms}
.shot-link:hover .shot-hint, .shot-link:focus-visible .shot-hint{opacity: 1}
@media (hover: none){ .shot-hint{opacity: 1} }

/* ---- Footer: all areas upfront, as pills ---- */
.area-band{max-width: 1360px; margin: clamp(34px, 4.4vw, 52px) auto 0px; padding: clamp(34px, 4.4vw, 52px) 0px 0px; border-top: 1px solid rgba(42, 36, 30, 0.12)}
.area-band-label{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(176, 141, 87); margin: 0px 0px clamp(18px, 2.4vw, 24px)}
.area-band-cols{display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3.2vw, 44px); align-items: start}
.area-band-region{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(176, 141, 87); margin: 0px 0px 14px}
.area-band-pills{display: flex; flex-wrap: wrap; gap: 9px}
.area-pill{display: inline-flex; align-items: center; padding: 9px 17px; border-radius: 999px; background: rgba(42, 36, 30, 0.05); border: 1px solid rgba(42, 36, 30, 0.08); font-family: "Cormorant Garamond", serif; font-size: 16px; line-height: 1; color: rgb(60, 51, 41); transition: background 300ms, border-color 300ms, color 300ms}
.area-pill:hover{background: rgb(176, 141, 87); border-color: rgb(176, 141, 87); color: rgb(255, 255, 255)}
@media (max-width: 860px){
  .area-band-cols{grid-template-columns: 1fr 1fr}
}
@media (max-width: 560px){
  .area-band-cols{grid-template-columns: 1fr}
}

/* ---- Footer copyright band ---- */
.foot-legal{max-width: 1360px; margin: clamp(34px, 4.4vw, 52px) auto 0px; padding: clamp(22px, 2.6vw, 30px) 0px 0px; border-top: 1px solid rgba(42, 36, 30, 0.12); display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: space-between}
.foot-legal p{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 0.06em; color: rgb(126, 116, 102); margin: 0px}
.foot-legal nav{display: flex; flex-wrap: wrap; gap: 22px}
.foot-legal a{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 0.06em; color: rgb(126, 116, 102); transition: color 250ms}
.foot-legal a:hover{color: rgb(138, 110, 62)}
