/* Manrope throughout; Cormorant for large villa and hotel headings. */
/* Self-hosted Google Fonts. See assets/fonts/*-OFL.txt. */

/* Cormorant: cyrillic-ext, italic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-cyrillic-ext-italic.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Cormorant: cyrillic, italic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-cyrillic-italic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Cormorant: latin-ext, italic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-latin-ext-italic.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;
}

/* Cormorant: latin, italic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-latin-italic.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;
}

/* Cormorant: cyrillic-ext, normal */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-cyrillic-ext-normal.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Cormorant: cyrillic, normal */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-cyrillic-normal.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Cormorant: latin-ext, normal */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-latin-ext-normal.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;
}

/* Cormorant: latin, normal */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-latin-normal.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;
}

/* Manrope: cyrillic-ext, normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic-ext-normal.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Manrope: cyrillic, normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic-normal.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Manrope: latin-ext, normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-ext-normal.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;
}

/* Manrope: latin, normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-normal.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 {
  --font-display: Manrope, Arial, sans-serif;
  --font-text: Manrope, Arial, sans-serif;
}
body {
  font-family: var(--font-text);
  font-weight: 400;
  font-size: 17px;
  font-synthesis: none;
  font-kerning: normal;
}
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  overflow-wrap: break-word;
}
strong, b { font-weight: 600; }
em, i, .author-accent {
  font-family: var(--font-display);
  font-style: italic;
  font-synthesis: style;
  font-weight: 400;
}
.author-accent { font-size: 1.08em; }
.wordmark { font-family: var(--font-text);font-weight: 500;letter-spacing: .1em; }
.navigation a { font-size: 13px;letter-spacing: .065em;font-weight: 500; }
.overline,
.settlement-page .settlement-hero-copy .overline,
.settlement-page .settlement-chapter-heading > .overline {
  font-family: var(--font-text);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
}
.hero .slide-caption h1,
.hero .slide-caption h2 {
  font-size: clamp(34px, 4.6vw, 65px);
  line-height: 1.18;
  letter-spacing: -.025em;
  text-transform: none;
  font-weight: 400;
}
.hero .slide-caption > p:last-child,
.space-cover-copy > p:last-of-type,
.space-cover.engineering-cover .space-cover-copy > p:not(.overline) {
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0;
}
.space-cover h1,
.space-cover.engineering-cover h1,
.project-intro h1,
.concept-page .project-intro h1,
.direction-intro h1 { line-height: 1.22;letter-spacing: -.025em; }
.intro-copy p,
.feature-copy > p:not(.overline),
.platform-copy > p,
.contact > div > p:not(.overline),
.empty-copy,
.company-story p,
.company-columns p,
.company-services p,
.directions-heading > p,
.direction-card p,
.direction-intro-copy p,
.direction-story p,
.direction-start p,
.direction-priorities li,
.direction-process p,
.project-lead,
.concept-author,
.chapter-heading > p,
.plan-facts,
.hotel-detail-copy p,
.design-intro > p {
  font-family: var(--font-text);
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: 0;
  max-width: 65ch;
}
#projects .architecture-category-description { font-size: 17px;line-height: 1.75;max-width: 65ch; }
.concept-author { margin-inline: 0; }
.concept-card-copy > p:not(.overline),
.architecture-category .concept-card-copy > p:not(.overline) {
  font-size: 16px;
  line-height: 1.75;
  max-width: 55ch;
}
.direction-card h3 { font-size: 23px;line-height: 1.38; }
.direction-card { grid-template-columns: 24px minmax(0, 1fr) 18px; }
.direction-card > div { min-width: 0; }
.company-services h3,
.company-columns h3,
.hotel-detail-copy h3,
.design-card-caption h3 { font-size: 21px;line-height: 1.4; }
.company-services h3 { font-weight: 500; }
.technology-row h3 {
  font-family: var(--font-text);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
}
.technology-row p { font-size: 16px;line-height: 1.75; }
.project-cover figcaption,
.project-details figcaption,
.plan-figure figcaption,
.concept-hall figcaption,
.design-card-caption p,
.company-portfolio p,
.directions-note p,
.design-note,
.form-note,
.footer p,
.footer > a:last-child { font-size: 14px;line-height: 1.75;letter-spacing: 0; }
.project-details figcaption strong,
.plan-facts strong { font-size: 16px;font-weight: 500;line-height: 1.6; }
.project-facts dt,
.concept-numbers dt,
.company-facts dt {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .035em;
}
.project-facts dd { font-size: 15px;line-height: 1.65; }
.concept-numbers dd,
.company-facts dd {
  font-family: var(--font-text);
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.project-tabs button,
.chapter-nav a,
.quiet-link,
.platform-link,
.project-next > a:last-child,
.project-back { font-size: 14px;line-height: 1.65; }
.project-tabs button[aria-selected=true] { font-weight: 500; }
.chapter-nav span { font-size: 13px;font-weight: 500; }
form label { font-size: 14px;line-height: 1.6; }
input, textarea { font-family: var(--font-text);font-size: 16px;line-height: 1.5; }
#assistant-dialog,
#assistant-dialog h2,
#assistant-dialog .assistant-message,
.assistant-launcher { font-family: var(--font-text);font-style: normal; }
#assistant-dialog .assistant-head h2 { font-weight: 500; }
#assistant-dialog .assistant-message { font-size: 16px;line-height: 1.65; }
#assistant-dialog .assistant-consent,
#assistant-dialog #assistant-chat-panel > .assistant-hint { font-size: 13px;line-height: 1.6; }
#assistant-dialog #assistant-questionnaire input,
#assistant-dialog #assistant-questionnaire textarea,
#assistant-dialog .assistant-composer textarea { font-family: var(--font-text);font-size: 16px; }
.assistant-launcher { font-size: 14px;font-weight: 500;letter-spacing: 0; }
.settlement-page .settlement-hero h1 {
  font-size: clamp(43px, 5.6vw, 84px);
  line-height: 1.17;
  letter-spacing: -.035em;
}
.settlement-page .settlement-editorial h2,
.settlement-page .settlement-chapter-heading h2,
.settlement-page .settlement-closing h2 { line-height: 1.3;letter-spacing: -.025em; }
.settlement-page .settlement-editorial p,
.settlement-page .settlement-chapter-heading > p:not(.overline),
.settlement-page .settlement-subchapter > p,
.settlement-page .settlement-quarter-intro,
.settlement-page .settlement-closing p {
  font-size: 17px;
  line-height: 1.75;
  max-width: 65ch;
}
.settlement-page .settlement-figure figcaption p { font-size: 15px;line-height: 1.75;max-width: 65ch; }
.settlement-page .settlement-figure figcaption strong { font-size: 17px;font-weight: 500;line-height: 1.5; }
.settlement-page .settlement-hero-image.settlement-figure > figcaption { font-size: 14px;line-height: 1.7; }
.settlement-page .settlement-facts dt { font-size: 12px;font-weight: 500;letter-spacing: .07em; }
.settlement-page .settlement-facts dd { font-weight: 500;line-height: 1.5; }
.settlement-page .settlement-quarter-name { font-family: var(--font-display);letter-spacing: -.025em;line-height: 1.35; }
.settlement-page .settlement-quarter-street,
.settlement-page .settlement-chapter-nav a,
.settlement-page .settlement-quarters-nav a { font-size: 14px;line-height: 1.65; }
.settlement-page .settlement-quarter-index { font-weight: 500; }
.settlement-page .settlement-hero-copy > .project-back { font-size: 13px; }
@media(max-width:1000px) {
  .navigation { gap: 16px; }
  .navigation a { font-size: 12px; }
}
@media(max-width:700px) {
  .hero .slide-caption h1,
  .hero .slide-caption h2 { font-size: clamp(32px, 8.5vw, 45px);line-height: 1.2; }
  .space-cover h1,
  .space-cover.engineering-cover h1 { font-size: clamp(30px, 8vw, 38px);line-height: 1.2; }
  .direction-intro h1 { font-size: clamp(28px, 7.5vw, 34px); }
  .navigation a { font-size: 14px;letter-spacing: .065em; }
  .project-tabs { gap: 22px; }
  .project-tabs button { font-size: 13px; }
  .company-services h3,
  .company-columns h3,
  .hotel-detail-copy h3,
  .design-card-caption h3 { font-size: 20px; }
  .direction-card h3 { font-size: 22px; }
  .settlement-page .settlement-hero h1 { font-size: clamp(40px, 9.5vw, 56px); }
  .settlement-page .settlement-quarter-name { font-size: clamp(21px, 5.4vw, 27px); }
}
@media(max-width:360px) {
  .settlement-page .settlement-quarter > summary { grid-template-columns: 18px minmax(0,1fr) 22px;gap:7px 9px; }
  .settlement-page .settlement-quarter-name { font-size:20px;overflow-wrap:break-word;min-width:0; }
}

/* A quiet reading surface, with deeper stories available beside each photograph. */
:root { --paper:#eeece5;--ink:#252729;--muted:#424441;--line:#cbc7bd; }
.platform-section { background:#e4dfd5; }
.project-image-link { display:block;cursor:zoom-in; }
.project-image-link:focus-visible,.frame-read:focus-visible { outline:2px solid var(--ink);outline-offset:5px; }
.project-page figcaption.frame-caption {
  display:block;text-align:left;font-family:var(--font-text);color:var(--ink);
  font-size:15px;line-height:1.75;padding-top:16px;
}
.project-page .frame-caption-title {
  display:block;font-family:var(--font-text);font-size:17px;font-weight:500;
  line-height:1.5;letter-spacing:0;margin:0 0 8px;
}
.project-page .frame-preview { margin:0 0 10px;font-size:15px;line-height:1.75;max-width:60ch;color:var(--ink); }
.frame-read { border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.7;padding:3px 0;cursor:pointer; }
.frame-read:hover { border-color:var(--ink); }
.project-page .plan-figure .frame-caption { display:block; }
.project-page .frame-caption a { display:inline; }
body:has(#project-gallery[open]) .assistant-launcher { visibility:hidden; }
#project-gallery.project-gallery {
  width:min(1520px,calc(100vw - 40px));max-width:calc(100vw - 40px);
  height:min(920px,calc(100svh - 32px));max-height:calc(100svh - 32px);
  padding:0;margin:auto;overflow:hidden;border:1px solid var(--line);
  color:var(--ink);background:var(--paper);font-family:var(--font-text);
  box-shadow:0 12px 60px #11111122;
}
#project-gallery[open] { display:flex;flex-direction:column; }
#project-gallery::backdrop { background:#242628b8; }
#project-gallery .frame-tools { display:flex;align-items:center;gap:20px;flex:none;padding:12px 22px;border-bottom:1px solid var(--line); }
#project-gallery .frame-counter { font-size:14px;font-variant-numeric:tabular-nums;line-height:1.6; }
#project-gallery .frame-navigation { display:flex;gap:8px;margin-left:auto; }
#project-gallery .frame-tools button { display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:26px;line-height:1;cursor:pointer; }
#project-gallery .frame-tools button:hover { background:#ddd8cd; }
#project-gallery .frame-tools button:focus-visible { outline:2px solid var(--ink);outline-offset:-3px; }
#project-gallery .frame-tools .frame-close { font-size:32px;margin-left:4px; }
#project-gallery .frame-layout { min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px); }
#project-gallery .frame-visual { display:flex;flex-direction:column;min-height:0;min-width:0;background:#e4e0d6; }
#project-gallery .frame-image { display:block;width:100%;height:100%;min-height:0;flex:1;object-fit:contain;padding:20px; }
#project-gallery .frame-original { align-self:center;font-size:13px;line-height:1.7;padding:0 12px 17px;color:var(--ink);text-decoration:underline;text-underline-offset:4px; }
#project-gallery .frame-story { min-width:0;overflow:auto;overscroll-behavior:contain;padding:30px 28px 35px;scrollbar-width:thin; }
#project-gallery .frame-project { font-size:12px;line-height:1.65;font-weight:500;letter-spacing:.035em;margin:0 0 20px;color:var(--ink); }
#project-gallery #frame-title { font-family:var(--font-display);font-weight:400;font-size:28px;line-height:1.3;letter-spacing:-.02em;margin:0 0 24px;color:var(--ink); }
#project-gallery .frame-paragraphs p { font-size:16px;line-height:1.8;letter-spacing:0;margin:0 0 20px;color:var(--ink); }
#project-gallery .frame-discuss { display:inline-flex;gap:18px;font-size:14px;line-height:1.6;margin-top:5px;padding:10px 0;text-align:left; }
.white-riviera-page .settlement-hero h1 { max-width:9ch; }
.white-riviera-page .settlement-plan-gallery { align-items:start; }
@media(max-width:1000px) {
  #project-gallery .frame-layout { grid-template-columns:minmax(0,1fr) 300px; }
  #project-gallery .frame-story { padding:24px 22px; }
  #project-gallery #frame-title { font-size:26px; }
}
@media(max-width:700px) {
  .project-page .frame-caption-title { font-size:16px; }
  .project-page .frame-preview { font-size:15px; }
  #project-gallery.project-gallery { width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100svh - 16px);max-height:calc(100svh - 16px);overflow:auto;overscroll-behavior:contain; }
  #project-gallery .frame-tools { position:sticky;top:0;z-index:2;padding:8px 14px;background:var(--paper);gap:10px; }
  #project-gallery .frame-layout { display:block;flex:none; }
  #project-gallery .frame-visual { height:auto; }
  #project-gallery .frame-image { height:auto;max-height:44svh;min-height:180px;flex:none;padding:14px; }
  #project-gallery .frame-original { padding-bottom:12px; }
  #project-gallery .frame-story { overflow:visible;padding:25px 24px 34px; }
  #project-gallery .frame-project { margin-bottom:15px; }
  #project-gallery #frame-title { font-size:28px;margin-bottom:20px; }
  #project-gallery .frame-paragraphs p { font-size:16px;line-height:1.8; }
  .white-riviera-page .settlement-hero h1 { max-width:none; }
}

/* A quiet catalogue of object types, with a compact native mobile picker. */
#projects .project-type-picker { margin:38px 0 12px; }
#projects .project-type-label { margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--ink); }
#projects .project-type-buttons { display:flex;flex-wrap:wrap;gap:8px 26px; }
#projects .project-type-buttons button { min-height:44px;border:0;border-bottom:1px solid transparent;background:transparent;padding:10px 0;color:var(--ink);font:inherit;font-size:15px;line-height:1.6;cursor:pointer;text-align:left; }
#projects .project-type-buttons button span { margin-left:6px;font-size:12px; }
#projects .project-type-buttons button[aria-pressed=true] { border-bottom-color:var(--ink);font-weight:500; }
#projects .project-type-buttons button:hover { border-bottom-color:var(--line); }
#projects .project-type-buttons button:focus-visible, #project-type-select:focus-visible { outline:2px solid var(--ink);outline-offset:4px; }
#projects .project-type-mobile { display:none; }
#projects .project-notes-link { display:inline-flex;gap:20px;margin:8px 0 20px;font-size:14px;min-height:44px;align-items:center; }
#projects .project-tabs { margin-top:26px; }
#projects .project-selection-status { margin:18px 0 35px;font-size:13px;line-height:1.7;color:var(--ink); }
#projects .public-project-groups > .architecture-category:first-child { border-top:1px solid var(--line);margin-top:90px;padding-top:60px; }
#projects #project-panel.is-filtered .architecture-category { border-top:0;margin-top:0;padding-top:0; }
#projects #project-panel { padding-top:0; }
#projects .tab-label-short { display:none; }
#projects [hidden], #project-gallery [hidden] { display:none!important; }
#projects .project-status-empty { padding:25px 0 50px; }
#projects .project-status-empty p { font-size:17px;line-height:1.8; }
#projects .project-service-links { border-top:1px solid var(--line);margin-top:85px;padding-top:40px; }
#projects .project-service-links h3 { font-family:var(--font-display);font-size:28px;font-weight:400;margin:0 0 16px; }
#projects .project-service-links > p { max-width:62ch;font-size:16px;line-height:1.8; }
#projects .project-service-links > div { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin-top:22px; }
#projects .project-service-links a { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7;color:var(--ink); }
#projects .project-service-links a span { flex:none; }
main img, main canvas, .project-gallery img { -webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none; }
#project-gallery .frame-original { border:0;background:transparent;cursor:pointer;font-family:inherit;min-height:44px; }
#project-gallery .frame-original:focus-visible { outline:2px solid var(--ink);outline-offset:-2px; }
#project-gallery.is-image-expanded .frame-layout { display:flex;min-height:0;flex:1; }
#project-gallery.is-image-expanded .frame-visual { width:100%;height:100%; }
#project-gallery.is-image-expanded .frame-image { min-height:0;max-height:none;flex:1;height:100%;object-fit:contain; }
@media(max-width:1000px) {
  #projects .project-service-links > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  #projects .project-type-picker { margin-top:28px; }
  #projects .project-type-label, #projects .project-type-buttons { display:none; }
  #projects .project-type-mobile { display:block; }
  #projects .project-type-mobile > span { display:block;margin-bottom:10px;font-size:13px; }
  #project-type-select { display:block;width:100%;max-width:100%;min-height:52px;padding:12px 36px 12px 14px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6; }
  #projects .project-tabs { gap:8px 20px;margin-top:18px; }
  #projects .project-tabs button { min-height:44px;font-size:13px; }
  #projects .project-selection-status { margin-top:12px;margin-bottom:28px; }
  #projects .public-project-groups > .architecture-category:first-child { margin-top:55px;padding-top:40px; }
  #projects #project-panel.is-filtered .architecture-category { margin-top:0;padding-top:0; }
  #projects .project-notes-link { padding:8px 0;margin:0;min-height:44px; }
  #projects .tab-label-full { display:none; }
  #projects .tab-label-short { display:inline; }
  #projects .project-service-links { margin-top:55px;padding-top:30px; }
  #projects .project-service-links > div { grid-template-columns:1fr; }
  #projects .project-service-links h3 { font-size:26px; }
  #project-gallery.is-image-expanded { overflow:hidden; }
  #project-gallery.is-image-expanded .frame-image { padding:12px; }
}
/* Quiet authorship, kept below portfolio images and in the image reader. */
.concept-author-credit,.project-author-credit{font-family:'Onest',Arial,sans-serif!important;font-size:12px!important;line-height:1.7!important;font-weight:400!important;letter-spacing:0!important;color:#343737!important;margin:18px 0 0!important}
.project-author-credit{padding:30px 25px 55px!important;text-align:center}
.frame-visual>.concept-author-credit{padding:0 18px 14px;margin:4px 0 0!important;text-align:center}
.frame-visual{grid-template-rows:minmax(0,1fr) auto auto}
.hero-author-credit{font-family:'Onest',Arial,sans-serif!important;font-size:12px!important;line-height:1.7!important;font-weight:400!important;letter-spacing:0!important;margin:22px 0 0!important}
.books-library{max-width:1180px;padding:155px 65px 70px;margin:auto;color:var(--ink,#292b2b)}
.books-opening>h1{font-family:'Lora',Georgia,serif;font-size:clamp(36px,4.6vw,62px);font-weight:400;line-height:1.2;margin:20px 0 24px;letter-spacing:-1px}
.books-subtitle{font-size:17px;line-height:1.8;max-width:600px;margin-bottom:58px}
.books-opening .architect-epigraph{max-width:850px;margin:0 0 74px}
.book-card{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding:58px 0}
.book-cover img{width:100%;height:auto;display:block}
.book-copy h2{font-family:'Lora',Georgia,serif;font-size:40px;line-height:1.3;margin:16px 0 24px;font-weight:400}
.book-copy>p:not(.overline){font-size:16px;line-height:1.9}
.book-copy .quiet-link{display:flex;width:fit-content;margin-top:14px;font-size:14px}
.books-continuation{border-top:1px solid var(--line);padding-top:30px;font-size:15px;line-height:1.9;max-width:700px}
.image-panel figcaption{flex-wrap:wrap}
.image-panel figcaption>.concept-author-credit{flex-basis:100%;margin:3px 0 0!important;font-size:11px!important}
#architect-credit{font:400 12px/1.7 'Onest',Arial,sans-serif;color:#343737}
@media(min-width:1281px){#navigation{gap:18px}#navigation a{letter-spacing:.25px}}
@media(max-width:760px){.books-library{padding:115px 25px 55px}.books-subtitle{font-size:16px;margin-bottom:38px}.books-opening .architect-epigraph{margin-bottom:45px}.book-card{grid-template-columns:1fr;gap:28px;padding:35px 0}.book-copy h2{font-size:33px}.book-copy>p:not(.overline){font-size:15px}.books-continuation{font-size:14px}}

/* Cormorant is reserved for the large headings of villas and hotels. */
.hospitality-page h1,
.hospitality-page h2:not(#assistant-title):not(#frame-title) {
  font-family: Cormorant, Georgia, serif;
  font-weight: 500;
  letter-spacing: -.015em;
}
.hospitality-page .author-accent { font-family: var(--font-text); }
