@font-face { font-family: "Saira"; src: url("/assets/fonts/saira.woff2?v=8df5d42d") format("woff2"); font-weight: 500 800; font-stretch: 100% 125%; font-display: swap; } @font-face { font-family: "Red Hat Text"; src: url("/assets/fonts/red-hat-text.woff2?v=e0d0a27c") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; } @font-face { font-family: "Red Hat Text"; src: url("/assets/fonts/red-hat-text-italic.woff2?v=fc181d94") format("woff2"); font-weight: 400 500; font-style: italic; font-display: swap; } @font-face { font-family: "Saira Fallback"; src: local("Eurostile"), local("Verdana"), local("Arial"); size-adjust: 96%; ascent-override: 104%; descent-override: 28%; } @font-face { font-family: "Red Hat Text Fallback"; src: local("Helvetica Neue"), local("Arial"); size-adjust: 102%; ascent-override: 92%; descent-override: 26%; } :root { --color-paper: oklch(97.2% 0.009 88); --color-paper-2: oklch(94.3% 0.012 86); --color-paper-3: oklch(90.5% 0.015 84); --color-white: oklch(99.3% 0.004 88); --color-ink: oklch(22% 0.055 276); --color-ink-2: oklch(37% 0.045 276); --color-ink-3: oklch(46% 0.032 276); --color-rule: oklch(85.5% 0.014 84); --color-rule-2: oklch(80% 0.016 84); --color-navy: oklch(37.75% 0.156 274.7); --color-navy-deep: oklch(30% 0.13 275); --color-navy-wash: oklch(93.5% 0.028 276); --color-yellow: oklch(86.33% 0.176 89.8); --color-yellow-deep: oklch(80.5% 0.168 84); --color-yellow-wash: oklch(95.5% 0.05 92); --color-yellow-glow: oklch(86.33% 0.176 89.8 / 0.22); --color-night: oklch(21% 0.075 276); --color-night-2: oklch(25.5% 0.082 276); --color-night-3: oklch(30.5% 0.088 276); --color-night-line: oklch(37% 0.075 276); --color-on-night: oklch(96.5% 0.008 88); --color-on-night-2: oklch(81% 0.03 276); --color-focus: oklch(45% 0.2 275); --color-focus-night: oklch(86.33% 0.176 89.8); --color-ok: oklch(45% 0.11 155); --color-error: oklch(50% 0.19 27); --color-shadow: oklch(22% 0.055 276 / 0.14); --color-scrim: oklch(21% 0.075 276 / 0.62); --color-veil-strong: oklch(17% 0.07 276 / 0.94); --color-veil: oklch(17% 0.07 276 / 0.72); --color-veil-thin: oklch(17% 0.07 276 / 0.38); --font-display: "Saira", "Saira Fallback", "Eurostile", Verdana, sans-serif; --font-body: "Red Hat Text", "Red Hat Text Fallback", "Helvetica Neue", Arial, sans-serif; --stretch-display: 112%; --text-xs: 0.78rem; --text-sm: 0.9rem; --text-base: 1.0625rem; --text-md: 1.22rem; --text-lg: 1.45rem; --text-xl: 1.8rem; --text-2xl: clamp(1.6rem, 1.15rem + 1.6vw, 2.1rem); --text-3xl: clamp(1.9rem, 1.3rem + 2.2vw, 2.6rem); --text-display: clamp(2.2rem, 1.3rem + 2.9vw, 3.3rem); --space-3xs: 0.25rem; --space-2xs: 0.5rem; --space-xs: 0.75rem; --space-sm: 1rem; --space-md: 1.5rem; --space-lg: 2rem; --space-xl: 3rem; --space-2xl: 4rem; --space-3xl: 6rem; --space-4xl: 8rem; --radius: 5px; --radius-lg: 10px; --radius-pill: 999px; --rule: 1px solid var(--color-rule); --rule-ink: 1px solid var(--color-ink); --rule-night: 1px solid var(--color-night-line); --ease-out: cubic-bezier(0.22, 1, 0.36, 1); --ease-in: cubic-bezier(0.55, 0, 1, 0.45); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); --dur-fast: 140ms; --dur-base: 240ms; --dur-slow: 560ms; --z-raised: 10; --z-sticky: 200; --z-sheet: 400; --z-skip: 600; --wrap: 78rem; --header-h: 5.25rem; } *, *::before, *::after { box-sizing: border-box; } html, body { overflow-x: clip; } html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--space-md)); --gutter: clamp(1rem, 4vw, 2.5rem); } body { margin: 0; background: var(--color-paper); color: var(--color-ink); font: 400 var(--text-base)/1.62 var(--font-body); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } [hidden] { display: none !important; } img, video, svg { display: block; max-width: 100%; } img, video { height: auto; } a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; } a:hover { text-decoration-color: var(--color-navy); } :focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; } ::selection { background: var(--color-yellow); color: var(--color-ink); } h1, h2, h3 { margin: 0; font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 700; letter-spacing: -0.01em; line-height: 1.06; overflow-wrap: anywhere; min-width: 0; font-style: normal; text-wrap: balance; } h1 { font-size: var(--text-display); } h2 { font-size: var(--text-3xl); } h3 { font-size: var(--text-lg); line-height: 1.14; font-weight: 600; } p { margin: 0; } ul, ol { margin: 0; padding: 0; } [role="list"] { list-style: none; } figure { margin: 0; } blockquote { margin: 0; } address { font-style: normal; } table { border-collapse: collapse; } .visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } .sprite { position: absolute; width: 0; height: 0; overflow: hidden; } .icon { width: 1.15em; height: 1.15em; flex: none; fill: currentColor; } .wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); } .skip { position: absolute; left: var(--space-sm); top: -4rem; z-index: var(--z-skip); padding: var(--space-xs) var(--space-sm); background: var(--color-yellow); color: var(--color-ink); font: 600 var(--text-sm)/1 var(--font-display); } .skip:focus { top: var(--space-sm); } .lead { font-size: var(--text-md); line-height: 1.55; max-width: 56ch; color: var(--color-ink-2); } .muted { color: var(--color-ink-2); } .night .muted { color: var(--color-on-night-2); } .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2xs); min-height: 3rem; padding: 0 var(--space-md); border: 1px solid transparent; border-radius: var(--radius); font: 650 var(--text-sm)/1 var(--font-display); font-stretch: var(--stretch-display); letter-spacing: 0.02em; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); } .btn:active { transform: translateY(1px); } .btn:disabled, .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none; } .btn--sm { min-height: 2.6rem; padding: 0 var(--space-sm); } .btn--lg { min-height: 3.4rem; padding: 0 var(--space-md); font-size: var(--text-base); } .btn--yellow { background: var(--color-yellow); color: var(--color-ink); } .btn--yellow:hover { background: var(--color-yellow-deep); } .btn--navy { background: var(--color-navy); color: var(--color-white); } .btn--navy:hover { background: var(--color-navy-deep); } .btn--line { border-color: var(--color-rule-2); color: inherit; background: transparent; } .btn--line:hover { border-color: var(--color-ink); background: var(--color-white); } .night .btn--line { border-color: var(--color-night-line); } .night .btn--line:hover { border-color: var(--color-on-night); background: var(--color-night-2); } .btn__short, .lbl-narrow { display: none; } .link { display: inline-flex; align-items: center; gap: var(--space-2xs); font: 650 var(--text-sm)/1.2 var(--font-display); font-stretch: var(--stretch-display); text-decoration: none; border-bottom: 2px solid var(--color-yellow); padding-bottom: 0.2em; white-space: nowrap; color: var(--color-navy); } .link:hover { border-bottom-color: var(--color-navy); } .night .link { color: var(--color-on-night); } .night .link:hover { border-bottom-color: var(--color-on-night); } .link .icon { transition: transform var(--dur-fast) var(--ease-out); } .link:hover .icon { transform: translateX(3px); } .night { background: var(--color-night); color: var(--color-on-night); } .night a:hover { text-decoration-color: var(--color-yellow); } .night :focus-visible { outline-color: var(--color-focus-night); } .logo { display: block; width: 100%; height: auto; } .logo .lg-navy { fill: var(--color-navy); } .logo .lg-yellow { fill: var(--color-yellow); } .logo .lg-navy-line { fill: none; stroke: var(--color-navy); stroke-width: 5.45px; stroke-miterlimit: 2.61; } .logo .lg-yellow-line { fill: none; stroke: var(--color-yellow); stroke-width: 4.02px; stroke-miterlimit: 2.61; } .logo .lg-name { fill: var(--color-ink); } .plate { display: inline-block; padding: var(--space-sm) var(--space-md); background: var(--color-paper); border-radius: var(--radius-lg); } .site-header { --topline-h: 2.4rem; position: sticky; top: calc(var(--topline-h) * -1); z-index: var(--z-sticky); background: var(--color-paper); transition: box-shadow var(--dur-base) var(--ease-out); } .site-header.is-scrolled { box-shadow: 0 1px 0 var(--color-rule), 0 14px 28px -24px var(--color-shadow); } .topline { background: var(--color-night); color: var(--color-on-night-2); font-size: var(--text-xs); } .topline__row { display: flex; align-items: center; gap: var(--space-lg); height: var(--topline-h); } .topline a { text-decoration: none; display: inline-flex; align-items: center; gap: 0.4rem; white-space: nowrap; } .topline a:hover { color: var(--color-on-night); } .topline__phone { margin-left: auto; color: var(--color-on-night); font-weight: 600; letter-spacing: 0.02em; } .topline__area { color: var(--color-on-night-2); } .site-header__bar { display: flex; align-items: center; gap: var(--space-lg); max-width: var(--wrap); margin-inline: auto; min-height: var(--header-h); padding-inline: var(--gutter); } .site-header__logo { width: 8.6rem; flex: none; padding-block: var(--space-2xs); } .site-nav { margin-left: auto; } .site-nav ul { display: flex; gap: var(--space-lg); list-style: none; } .site-nav a { position: relative; font: 600 var(--text-sm)/1 var(--font-display); font-stretch: var(--stretch-display); text-decoration: none; padding: var(--space-2xs) 0; white-space: nowrap; } .site-nav a::after { content: ""; position: absolute; left: 50%; bottom: -0.55rem; width: 1.6rem; height: 0.8rem; translate: -50% 0; border: 2.5px solid transparent; border-top: 0; border-radius: 0 0 1.6rem 1.6rem; transition: border-color var(--dur-fast) var(--ease-out); } .site-nav a:hover::after { border-color: var(--color-rule-2); } .site-nav a[aria-current="page"]::after { border-color: var(--color-yellow); } .site-header__actions { display: flex; align-items: center; gap: var(--space-sm); } .menu-btn { display: none; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--color-rule-2); border-radius: var(--radius); background: none; color: inherit; cursor: pointer; } .menu-btn .icon { width: 1.4rem; height: 1.4rem; } .status { display: inline-flex; align-items: center; gap: var(--space-2xs); text-decoration: none; white-space: nowrap; } .status__dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--color-night-line); flex: none; } .is-open .status__dot { background: var(--color-yellow); box-shadow: 0 0 0 3px var(--color-yellow-glow); } .is-open .topline .status { color: var(--color-on-night); } .menu { position: fixed; inset: 0; z-index: var(--z-sheet); display: flex; flex-direction: column; gap: var(--space-lg); padding: 0 var(--gutter) calc(var(--space-lg) + env(safe-area-inset-bottom, 0px)); background: var(--color-paper); color: var(--color-ink); overflow-y: auto; } .menu[hidden] { display: none; } .menu__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); min-height: var(--header-h); padding-top: env(safe-area-inset-top, 0px); } .menu__top .site-header__logo { width: 7.4rem; } .menu nav ul { list-style: none; border-top: var(--rule); } .menu nav a { display: flex; align-items: center; justify-content: space-between; padding: var(--space-sm) 0; border-bottom: var(--rule); font: 650 var(--text-xl)/1.1 var(--font-display); font-stretch: var(--stretch-display); text-decoration: none; } .menu nav a[aria-current="page"] { color: var(--color-navy); } .menu nav a .icon { color: var(--color-navy); } .menu nav .menu__sub a { font-size: var(--text-md); font-weight: 600; padding-left: var(--space-md); color: var(--color-ink-2); } .menu__foot { display: grid; gap: var(--space-xs); margin-top: auto; } .menu__hours { font-size: var(--text-sm); color: var(--color-ink-2); } .rail__dots { display: none; } @media (max-width: 59.99rem) { .rail { display: flex !important; gap: var(--space-sm); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) var(--space-2xs); scroll-padding-inline: var(--gutter); scrollbar-width: none; } .rail::-webkit-scrollbar { display: none; } .rail > * { flex: 0 0 min(80%, 22rem); scroll-snap-align: start; } .rail__dots { display: flex; justify-content: center; gap: 0.35rem; margin-top: var(--space-sm); } .rail__dots i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--color-paper-3); transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); } .rail__dots i.is-on { background: var(--color-navy); transform: scale(1.25); } .night .rail__dots i { background: var(--color-night-line); } .night .rail__dots i.is-on { background: var(--color-yellow); } } .reel { position: relative; overflow: hidden; background: var(--color-night-2); } .reel img, .reel video { width: 100%; height: 100%; object-fit: cover; } .reel video { position: absolute; inset: 0; opacity: 0; transition: opacity var(--dur-slow) var(--ease-out); } .reel.is-playing video { opacity: 1; } .reel__toggle { position: absolute; right: var(--space-xs); bottom: var(--space-xs); z-index: var(--z-raised); width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--color-scrim); color: var(--color-white); cursor: pointer; } .reel__toggle[aria-pressed="true"] .icon { opacity: 0.6; } .quote blockquote p { font-size: var(--text-md); line-height: 1.5; } .quote blockquote p::before { content: "“"; } .quote blockquote p::after { content: "”"; } .quote figcaption { margin-top: var(--space-sm); font: 600 var(--text-sm)/1.3 var(--font-display); font-stretch: var(--stretch-display); } .quote figcaption span { color: var(--color-ink-3); font-weight: 500; } .night .quote figcaption span { color: var(--color-on-night-2); } .rating { display: inline-flex; align-items: center; gap: 0.45rem; text-decoration: none; white-space: nowrap; font: 600 var(--text-sm)/1 var(--font-display); font-stretch: var(--stretch-display); } .stars { display: inline-flex; gap: 1px; color: var(--color-yellow); } .stars .icon { width: 1em; height: 1em; } .rating .stars .icon { filter: drop-shadow(0 0 0.5px var(--color-navy)); } .night .rating .stars .icon { filter: none; } .rating strong { font-size: var(--text-md); font-weight: 700; } .rating__count { color: var(--color-ink-2); font-weight: 500; } .night .rating__count { color: var(--color-on-night-2); } .rating:hover .rating__count { text-decoration: underline; } .site-footer { padding-block: var(--space-2xl) var(--space-lg); } .site-footer__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)) auto; gap: var(--space-xl); } .site-footer__mark .plate { width: 13.5rem; max-width: 100%; } .site-footer .hours { font-size: var(--text-sm); } .site-footer__statement { margin-top: var(--space-md); max-width: 24ch; font: 650 var(--text-lg)/1.25 var(--font-display); font-stretch: var(--stretch-display); } .site-footer__statement span { color: var(--color-yellow); } .site-footer h2 { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; font-stretch: 100%; margin-bottom: var(--space-sm); color: var(--color-on-night-2); } .site-footer address, .site-footer ul { display: grid; gap: var(--space-2xs); font-size: var(--text-sm); } .site-footer a { display: inline-flex; align-items: center; gap: 0.4rem; } .site-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-sm); margin-top: var(--space-2xl); padding-top: var(--space-md); border-top: var(--rule-night); font-size: var(--text-xs); color: var(--color-on-night-2); } .site-footer__base ul { display: flex; flex-wrap: wrap; gap: var(--space-md); } .action-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-raised); display: none; gap: var(--space-2xs); padding: var(--space-2xs) var(--gutter) calc(var(--space-2xs) + env(safe-area-inset-bottom, 0px)); background: var(--color-night); color: var(--color-on-night); border-top: var(--rule-night); transform: translateY(110%); transition: transform var(--dur-base) var(--ease-out); } .action-bar .btn { flex: 1 1 0; min-width: 0; min-height: 2.9rem; padding: 0 var(--space-2xs); font-size: var(--text-xs); gap: 0.35rem; } .action-bar.is-on { transform: none; } @media (max-width: 63.99rem) { body:has(.action-bar.is-on) .rf-chat-fab { bottom: calc(4.6rem + env(safe-area-inset-bottom, 0px)); } } .hours { width: 100%; } .hours th, .hours td { padding: 0.32rem 0; text-align: left; font-weight: 400; border-bottom: 1px dotted var(--color-rule-2); } .night .hours th, .night .hours td { border-bottom-color: var(--color-night-line); } .hours td { text-align: right; font-variant-numeric: tabular-nums; } .hours .is-today th, .hours .is-today td { color: var(--color-navy); font-weight: 700; } .night .hours .is-today th, .night .hours .is-today td { color: var(--color-yellow); } .crumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2xs); list-style: none; font: 600 var(--text-xs)/1.4 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink-3); } .crumbs li + li::before { content: "/"; margin-right: var(--space-2xs); color: var(--color-rule-2); } .crumbs a { text-decoration: none; } .crumbs a:hover { color: var(--color-navy); text-decoration: underline; } @media (max-width: 71.99rem) { .site-nav ul { gap: var(--space-md); } .topline__area { display: none; } } @media (max-width: 63.99rem) { .topline { display: none; } .site-header { --topline-h: 0px; } .site-nav { display: none; } .site-header__actions { margin-left: auto; gap: var(--space-xs); } .menu-btn { display: inline-flex; } .action-bar { display: flex; } .site-footer { padding-bottom: calc(var(--space-3xl) + env(safe-area-inset-bottom, 0px)); } .site-footer__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--space-lg); } .site-footer__mark { grid-column: 1 / -1; } } @media (max-width: 40rem) { :root { --header-h: 4.6rem; } .lbl-wide { display: none; } .lbl-narrow { display: inline; } .site-header__bar { gap: var(--space-sm); } .site-header__logo { width: 7.4rem; } } @media (max-width: 22.5rem) { .action-bar .btn .icon { display: none; } .site-header__logo { width: 6.6rem; } .site-header .btn--sm { padding: 0 var(--space-xs); } .site-header__actions { gap: var(--space-2xs); } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 120ms !important; scroll-behavior: auto !important; } } .section { padding-block: var(--space-3xl); } .section--tight { padding-block: var(--space-2xl); } .section--paper2 { background: var(--color-paper-2); } .section-head { display: grid; gap: var(--space-sm); max-width: 46rem; margin-bottom: var(--space-xl); } .section-head p { color: var(--color-ink-2); font-size: var(--text-md); line-height: 1.55; } .night .section-head p { color: var(--color-on-night-2); } .section-head--row { max-width: none; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--space-xl); } .section-head--row > div { display: grid; gap: var(--space-sm); max-width: 46rem; } .section-more { margin-top: var(--space-xl); } .hero { position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: center; min-height: clamp(32rem, 74vh, 46rem); padding-block: var(--space-3xl); } .hero__media { position: absolute; inset: 0; z-index: -2; background: var(--color-night); } .hero__media img, .hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .hero__media video { opacity: 0; transition: opacity 900ms var(--ease-out); } .hero__media.is-playing video { opacity: 1; } .hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, var(--color-veil-strong) 0%, var(--color-veil-strong) 30%, var(--color-veil) 62%, var(--color-veil-thin) 100%); } .hero__inner { position: relative; } .hero__copy { display: grid; gap: var(--space-md); justify-items: start; max-width: 40rem; } .hero__title { font-size: var(--text-display); max-width: 16ch; color: var(--color-on-night); } .hero__lead { color: var(--color-on-night-2); font-size: var(--text-md); line-height: 1.55; max-width: 44ch; } .hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-2xs); } .hero__proof { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-lg); list-style: none; color: var(--color-on-night-2); font-size: var(--text-sm); } .hero__proof a { text-decoration: none; } .hero__proof .status { font-weight: 600; color: var(--color-on-night); } .hero__toggle { position: absolute; right: var(--gutter); bottom: var(--space-md); width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border: 1px solid var(--color-night-line); border-radius: 50%; background: var(--color-scrim); color: var(--color-on-night); cursor: pointer; } .hero__toggle[aria-pressed="true"] .icon { opacity: 0.6; } .wall { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-2xl); align-items: start; } .wall__slab { position: sticky; top: calc(var(--header-h) + var(--space-lg)); display: grid; gap: var(--space-sm); } .wall__slab figure { position: relative; aspect-ratio: 2 / 1; border-radius: var(--radius-lg); overflow: hidden; background: var(--color-paper-3); box-shadow: 0 0 0 1px var(--color-rule); } .wall__slab img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity var(--dur-slow) var(--ease-out); } .wall__slab img.is-on { opacity: 1; } .wall__name { font: 600 var(--text-sm)/1.3 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink-2); } .wall__list { display: grid; list-style: none; border-top: var(--rule); } .wall__item { border-bottom: var(--rule); } .wall__link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-md); align-items: center; padding: var(--space-md) 0; text-decoration: none; } .wall__link h3 { font-size: var(--text-xl); transition: color var(--dur-fast) var(--ease-out); } .wall__link p { grid-column: 1; color: var(--color-ink-2); font-size: var(--text-sm); max-width: 44ch; } .wall__link .icon { grid-column: 2; grid-row: 1 / span 2; width: 1.4rem; height: 1.4rem; color: var(--color-navy); transition: transform var(--dur-fast) var(--ease-out); } .wall__link:hover h3, .wall__item.is-on h3 { color: var(--color-navy); } .wall__link:hover .icon, .wall__item.is-on .icon { transform: translateX(4px); } .wall__thumb { display: none; } .wall__foot { margin-top: var(--space-lg); display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); align-items: center; color: var(--color-ink-2); font-size: var(--text-sm); } .quote__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: start; } .quote__side { display: grid; gap: var(--space-md); align-content: start; } .quote__side p { color: var(--color-ink-2); } .quote__plan { width: 100%; max-width: 22rem; height: auto; color: var(--color-ink-3); } .quote__plan .plan-stone { fill: var(--color-white); stroke: var(--color-navy); stroke-width: 1.5; } .quote__plan .plan-dim { stroke: var(--color-ink-3); stroke-width: 1; fill: none; } .quote__plan .plan-sink { fill: var(--color-paper-3); stroke: var(--color-navy); stroke-width: 1; } .quote__plan .plan-edge { fill: none; stroke: var(--color-yellow); stroke-width: 4; stroke-linecap: round; } .quote__plan text { fill: var(--color-ink-2); font: 600 11px var(--font-display); } .quote__steps { display: grid; gap: var(--space-xs); list-style: none; counter-reset: step; } .quote__steps li { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); gap: var(--space-xs); counter-increment: step; } .quote__steps li::before { content: counter(step); display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--color-navy); color: var(--color-white); font: 700 var(--text-xs)/1 var(--font-display); } .quote__alt { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); list-style: none; font-size: var(--text-sm); } .quote__alt a { display: inline-flex; align-items: center; gap: 0.35rem; } .quote__widget { position: relative; min-height: 30rem; background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); padding: var(--space-sm); } .quote__open { width: 100%; } .widget-frame { position: relative; min-height: 16rem; } .widget-frame__wait, .quote__loading { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--color-ink-3); font-size: var(--text-sm); } .widget-frame__fallback, .quote__fallback { display: grid; gap: var(--space-sm); justify-items: start; padding: var(--space-xl); } @media (max-width: 43.75rem) { .quote__widget { min-height: 0; } } .edge-svg { width: 100%; height: auto; overflow: visible; } .edge-svg__body { fill: var(--color-paper-3); stroke: var(--color-navy); stroke-width: 1.4; stroke-linejoin: round; } .edge-svg__seam { fill: none; stroke: var(--color-navy); stroke-width: 1; stroke-dasharray: 4 3; } .edge-svg__cut { fill: none; stroke: var(--color-yellow); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; } .edges { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--space-lg) var(--space-md); list-style: none; } .edge { display: grid; gap: var(--space-xs); align-content: start; } .edge__draw { padding: var(--space-md) var(--space-md) var(--space-sm); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .edge h3 { font-size: var(--text-md); } .edge p { color: var(--color-ink-2); font-size: var(--text-sm); } .edge a { font-size: var(--text-sm); color: var(--color-navy); } .edges--teaser { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-sm); } .edges--teaser .edge__draw { padding: var(--space-sm); } .edges--teaser h3 { font-size: var(--text-sm); } .make { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; gap: var(--space-md); list-style: none; } .make__card { display: grid; gap: var(--space-xs); align-content: start; } .make__card:first-child { grid-row: span 2; } .make__card img, .make__card .reel { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); } .make__card:first-child img { aspect-ratio: 4 / 5; } .make__card h3 { font-size: var(--text-lg); margin-top: var(--space-2xs); } .make__card p { color: var(--color-ink-2); font-size: var(--text-sm); } .steps { display: grid; list-style: none; counter-reset: step; max-width: 64rem; } .step { display: grid; grid-template-columns: 4rem minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-lg); padding-block: var(--space-lg); border-top: var(--rule); counter-increment: step; align-items: start; } .step::before { content: counter(step); display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; border: 2px solid var(--color-yellow); font: 700 var(--text-lg)/1 var(--font-display); color: var(--color-navy); } .step h3 { font-size: var(--text-lg); margin-bottom: var(--space-2xs); } .step p { color: var(--color-ink-2); } .step .quote blockquote p { font-size: var(--text-sm); line-height: 1.55; color: var(--color-ink-2); } .step .quote figcaption { font-size: var(--text-xs); } .work { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-sm); list-style: none; } .work img, .work .reel { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); width: 100%; object-fit: cover; } .work figcaption { margin-top: var(--space-2xs); font-size: var(--text-xs); color: var(--color-ink-3); } .reviews-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-xl); } .quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); list-style: none; } .quotes > li { padding: var(--space-lg); background: var(--color-night-2); border-radius: var(--radius-lg); } .quotes > li:nth-child(3n + 2) { transform: translateY(var(--space-lg)); } .quotes .quote blockquote p { font-size: var(--text-base); line-height: 1.6; } .reviews__more { margin-top: var(--space-2xl); } .duo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-md); } .duo > * { display: grid; gap: var(--space-md); align-content: start; padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .duo > *:first-child { background: var(--color-navy-wash); box-shadow: none; } .duo h2 { font-size: var(--text-2xl); } .duo p { color: var(--color-ink-2); } .duo__list { display: grid; gap: var(--space-2xs); list-style: none; } .duo__list li { display: flex; gap: var(--space-xs); align-items: baseline; } .duo__list .icon { color: var(--color-navy); transform: translateY(0.15em); } .duo__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); } .visit { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-2xl); align-items: start; } .visit__photos { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--space-sm); } .visit__photos img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-lg); aspect-ratio: 4 / 3; } .visit__photos figure:last-child img { aspect-ratio: 3 / 4; } .visit__card { display: grid; gap: var(--space-md); } .visit__card address { font-size: var(--text-md); line-height: 1.5; } .visit__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); } .visit__note { font-size: var(--text-sm); color: var(--color-ink-2); } .post-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg) var(--space-md); } .post-card { display: grid; } .post-card__link { display: grid; gap: var(--space-sm); align-content: start; text-decoration: none; } .post-card__media { aspect-ratio: 3 / 2; border-radius: var(--radius-lg); overflow: hidden; background: var(--color-paper-3); } .post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); } .post-card__link:hover .post-card__media img { transform: scale(1.03); } .post-card__body { display: grid; gap: var(--space-2xs); } .post-card__meta { display: flex; flex-wrap: wrap; gap: var(--space-2xs); font: 600 var(--text-xs)/1.3 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink-3); } .post-card__cat { color: var(--color-navy); } .post-card__title { font-size: var(--text-md); line-height: 1.25; } .post-card__link:hover .post-card__title { text-decoration: underline; text-decoration-color: var(--color-yellow); text-decoration-thickness: 2px; text-underline-offset: 0.2em; } .post-card__excerpt { color: var(--color-ink-2); font-size: var(--text-sm); } .post-pagination { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-sm); padding-top: var(--space-lg); border-top: var(--rule); font: 600 var(--text-sm)/1 var(--font-display); } .post-list__empty { color: var(--color-ink-2); } .article { display: grid; gap: var(--space-lg); max-width: 46rem; } .article__meta { display: flex; flex-wrap: wrap; gap: var(--space-sm); color: var(--color-ink-3); font: 600 var(--text-sm)/1.3 var(--font-display); font-stretch: var(--stretch-display); } .article__hero img { width: 100%; border-radius: var(--radius-lg); } .article__body { display: grid; gap: var(--space-md); font-size: var(--text-base); line-height: 1.72; } .article__body h2 { font-size: var(--text-2xl); margin-top: var(--space-lg); } .article__body h3 { font-size: var(--text-lg); margin-top: var(--space-sm); } .article__body ul, .article__body ol { display: grid; gap: var(--space-2xs); padding-left: 1.3rem; } .article__body img { border-radius: var(--radius-lg); } .article__body a { color: var(--color-navy); } .article__body table { width: 100%; font-size: var(--text-sm); display: block; overflow-x: auto; } .article__body img { height: auto; } .article__body th, .article__body td { padding: var(--space-2xs); border-bottom: var(--rule); text-align: left; vertical-align: top; } .article__body figure { margin: 0; } .article__body blockquote { padding-left: var(--space-md); border-left: 3px solid var(--color-yellow); color: var(--color-ink-2); } .faq { display: grid; max-width: 52rem; border-top: var(--rule); } .faq__item { border-bottom: var(--rule); } .faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-md) 0; cursor: pointer; list-style: none; font: 600 var(--text-md)/1.35 var(--font-display); font-stretch: var(--stretch-display); } .faq__item summary::-webkit-details-marker { display: none; } .faq__item summary .icon { transition: transform var(--dur-base) var(--ease-out); color: var(--color-navy); } .faq__item[open] summary .icon { transform: rotate(45deg); } .faq__item p { padding-bottom: var(--space-md); color: var(--color-ink-2); max-width: 65ch; } .cta-band { padding-block: var(--space-2xl); position: relative; overflow: hidden; } .cta-band__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: center; position: relative; } .cta-band h2 { font-size: var(--text-2xl); } .cta-band p { color: var(--color-on-night-2); margin-top: var(--space-2xs); max-width: 52ch; } .cta-band__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); } .cta-band__mark { position: absolute; right: -4rem; top: 50%; width: 22rem; translate: 0 -50%; opacity: 0.16; pointer-events: none; } .page-head { padding-block: var(--space-xl) var(--space-2xl); position: relative; overflow: hidden; border-bottom: var(--rule); } .page-head__grid { display: grid; gap: var(--space-md); justify-items: start; position: relative; } .page-head__grid > * { max-width: 50rem; } .page-head h1 { font-size: var(--text-3xl); } .page-head p { color: var(--color-ink-2); font-size: var(--text-md); max-width: 58ch; } .page-head__mark { position: absolute; right: max(-6rem, -8vw); bottom: -9rem; width: clamp(16rem, 34vw, 30rem); opacity: 0.11; pointer-events: none; } .page-head__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); } .family { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--space-2xl); align-items: start; } .family__points { display: grid; gap: var(--space-2xs); list-style: none; padding: var(--space-lg); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .family__points li { display: flex; gap: var(--space-xs); align-items: baseline; } .family__points .icon { color: var(--color-navy); transform: translateY(0.15em); } .family__points h2 { font-size: var(--text-md); margin-bottom: var(--space-2xs); } .swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: var(--space-lg) var(--space-md); list-style: none; } .swatch { display: grid; gap: var(--space-2xs); } .swatch img { aspect-ratio: 2 / 1; object-fit: cover; width: 100%; border-radius: var(--radius); box-shadow: 0 0 0 1px var(--color-rule); } .swatch__name { font: 600 var(--text-sm)/1.25 var(--font-display); font-stretch: var(--stretch-display); } .swatch__name span { display: block; font: 400 var(--text-xs)/1.3 var(--font-body); color: var(--color-ink-3); } .swatch__quote { font-size: var(--text-xs); color: var(--color-navy); text-decoration: none; display: inline-flex; gap: 0.25rem; align-items: center; } .swatch__quote:hover { text-decoration: underline; } .brands { display: flex; flex-wrap: wrap; gap: var(--space-2xs); list-style: none; } .brands li { padding: 0.45rem 0.8rem; border-radius: var(--radius); background: var(--color-white); box-shadow: 0 0 0 1px var(--color-rule); font: 600 var(--text-sm)/1.2 var(--font-display); font-stretch: var(--stretch-display); } .families { display: grid; gap: var(--space-2xl); } .family-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-xl); align-items: start; padding-top: var(--space-xl); border-top: var(--rule); scroll-margin-top: calc(var(--header-h) + var(--space-md)); } .family-row__head { display: grid; gap: var(--space-sm); align-content: start; } .family-row__head h2 { font-size: var(--text-2xl); } .family-row__head p { color: var(--color-ink-2); } .family-row .swatches { grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: var(--space-md) var(--space-sm); } .prose { display: grid; gap: var(--space-md); max-width: 68ch; } .prose h2 { font-size: var(--text-2xl); margin-top: var(--space-lg); } .prose h3 { font-size: var(--text-lg); margin-top: var(--space-sm); } .prose ul { display: grid; gap: var(--space-2xs); padding-left: 1.2rem; } .prose p, .prose li { color: var(--color-ink-2); } .two-col { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--space-2xl); align-items: start; } .aside-card { display: grid; gap: var(--space-sm); padding: var(--space-lg); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); position: sticky; top: calc(var(--header-h) + var(--space-md)); } .aside-card h2 { font-size: var(--text-lg); } .aside-card p { color: var(--color-ink-2); font-size: var(--text-sm); } .figure-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); list-style: none; } .figure-row img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); } .figure-row figcaption { margin-top: var(--space-2xs); font-size: var(--text-xs); color: var(--color-ink-3); } .chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-bottom: var(--space-lg); } .chip { min-height: 2.4rem; padding: 0 var(--space-sm); border: 1px solid var(--color-rule-2); border-radius: var(--radius-pill); background: var(--color-white); font: 600 var(--text-sm)/1 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink); cursor: pointer; white-space: nowrap; transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); } .chip:hover { border-color: var(--color-navy); } .chip[aria-pressed="true"] { background: var(--color-navy); border-color: var(--color-navy); color: var(--color-white); } .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); list-style: none; } .gallery li[hidden] { display: none; } .gallery img, .gallery .reel { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; border-radius: var(--radius-lg); } .gallery figcaption { margin-top: var(--space-2xs); font-size: var(--text-sm); color: var(--color-ink-2); } .about-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-2xl); align-items: start; } .about-grid figure img { width: 100%; border-radius: var(--radius-lg); } .about-grid figcaption { margin-top: var(--space-2xs); font-size: var(--text-sm); color: var(--color-ink-3); } .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--space-md); list-style: none; } .facts li { display: grid; gap: var(--space-3xs); padding-top: var(--space-sm); border-top: 2px solid var(--color-yellow); } .facts strong { font: 700 var(--text-lg)/1.15 var(--font-display); font-stretch: var(--stretch-display); } .facts span { color: var(--color-ink-2); font-size: var(--text-sm); } .request { display: grid; gap: var(--space-lg); } .request__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); } .request__grid .field--wide, .field--wide { grid-column: 1 / -1; } .field { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; border: 0; min-width: 0; } .field label, .field legend, .field__label { font: 600 var(--text-sm)/1.3 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink); padding: 0; } .optional { font: 400 var(--text-xs)/1 var(--font-body); color: var(--color-ink-3); margin-left: 0.25rem; } .input { width: 100%; min-height: 3rem; padding: 0.7rem 0.85rem; border: 1px solid var(--color-rule-2); border-radius: var(--radius); background: var(--color-white); color: var(--color-ink); font: 400 var(--text-base)/1.4 var(--font-body); transition: border-color var(--dur-fast) var(--ease-out); } .input::placeholder { color: var(--color-ink-3); } .input:hover { border-color: var(--color-ink-3); } .input:focus-visible { border-color: var(--color-navy); outline-offset: 1px; } .textarea { min-height: 7rem; resize: vertical; } .select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--color-ink-2) 50%), linear-gradient(135deg, var(--color-ink-2) 50%, transparent 50%); background-position: calc(100% - 1.15rem) 1.3rem, calc(100% - 0.8rem) 1.3rem; background-size: 0.35rem 0.35rem; background-repeat: no-repeat; padding-right: 2rem; } .field.is-invalid .input { border-color: var(--color-error); } .field__error { color: var(--color-error); font-size: var(--text-sm); } .choice-row { display: flex; flex-wrap: wrap; gap: var(--space-2xs); } .choice { position: relative; } .choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; } .choice span { display: inline-flex; align-items: center; min-height: 2.6rem; padding: 0 var(--space-sm); border: 1px solid var(--color-rule-2); border-radius: var(--radius); background: var(--color-white); font: 600 var(--text-sm)/1.2 var(--font-display); font-stretch: var(--stretch-display); color: var(--color-ink-2); transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); } .choice input:hover + span { border-color: var(--color-ink-3); } .choice input:checked + span { border-color: var(--color-navy); background: var(--color-navy-wash); color: var(--color-ink); } .choice input:focus-visible + span { outline: 2px solid var(--color-focus); outline-offset: 2px; } .hint { font-size: var(--text-xs); color: var(--color-ink-3); } .honey { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; } .photos-input { display: flex; flex-wrap: wrap; gap: var(--space-xs); align-items: center; } .photos-input__list { display: flex; gap: var(--space-2xs); } .photos-input__thumb { padding: 0; border: 0; background: none; cursor: pointer; } .photos-input__list img { width: 3.25rem; height: 3.25rem; object-fit: cover; border-radius: var(--radius); box-shadow: 0 0 0 1px var(--color-rule); } .request__send { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-lg); } .request__status { font-size: var(--text-sm); min-height: 1.5em; } .request__status.is-ok { color: var(--color-ok); font-weight: 600; } .request__status.is-error { color: var(--color-error); font-weight: 600; } .request-card { padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .remnants__empty { display: grid; gap: var(--space-sm); justify-items: start; padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .viz-scene-tag { position: absolute; left: var(--space-sm); top: var(--space-sm); z-index: var(--z-raised); pointer-events: none; padding: 0.3rem 0.6rem; background: var(--color-scrim); color: var(--color-white); border-radius: var(--radius); font: 600 var(--text-xs)/1 var(--font-display); } #rf-visualizer div:has(> canvas) { position: relative; } @media (max-width: 700px) { #rf-visualizer > div { height: auto !important; } #rf-visualizer div:has(> div > canvas) { display: contents !important; } #rf-visualizer div:has(> canvas) { order: 1 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; height: auto !important; min-height: 46vh; } #rf-visualizer > div > div:has(> img + img) { order: 2 !important; } #rf-visualizer div:has(> canvas) + div { order: 3 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; height: auto !important; padding-top: 12px; } #rf-visualizer > div > div:first-child { order: 0 !important; } #rf-visualizer > div > div:last-child { order: 4 !important; } #rf-visualizer canvas { width: 100% !important; height: auto !important; max-height: 60vh; object-fit: contain !important; } #rf-visualizer select { width: 100% !important; min-height: 44px; font-size: 16px !important; } #rf-visualizer div:has(> img + img) { overflow-x: auto !important; flex-wrap: nowrap !important; padding-bottom: 4px; } #rf-visualizer div:has(> img + img) > img { flex: 0 0 auto !important; } #rf-visualizer select[data-rf-autopick] { display: none !important; } } .review-card { display: grid; gap: var(--space-md); justify-items: start; max-width: 40rem; padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--color-rule); } .review-card .stars .icon { width: 1.8rem; height: 1.8rem; } @media (max-width: 59.99rem) { .section { padding-block: var(--space-2xl); } .section-head--row { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-sm); } .hero { align-items: end; min-height: min(44rem, 88svh); padding-block: var(--space-4xl) var(--space-xl); } .hero::before { background: linear-gradient(180deg, var(--color-veil-thin) 0%, var(--color-veil) 38%, var(--color-veil-strong) 70%); } .hero__copy { max-width: none; justify-items: stretch; } .hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; } .hero__actions .btn { padding-inline: var(--space-sm); } .hero__toggle { top: var(--space-md); bottom: auto; } .wall { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); } .wall__slab { display: none; } .wall__list { border-top: 0; } .wall__item { border-bottom: 0; } .wall__link { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); padding: 0; } .wall__thumb { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: var(--radius-lg); margin-bottom: var(--space-2xs); } .wall__link .icon { display: none; } .wall__link h3 { font-size: var(--text-lg); } .quote__grid, .visit, .two-col, .family, .family-row, .about-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); } .quote__plan { max-width: 18rem; } .make, .work, .quotes, .post-list, .figure-row { grid-template-columns: minmax(0, 1fr); } .make__card:first-child { grid-row: auto; } .make__card:first-child img { aspect-ratio: 4 / 3; } .quotes > li:nth-child(3n + 2) { transform: none; } .edges--teaser { grid-template-columns: minmax(0, 1fr); } .step { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-md); } .step::before { width: 2.5rem; height: 2.5rem; font-size: var(--text-md); } .step > .quote { grid-column: 2; } .duo { grid-template-columns: minmax(0, 1fr); } .duo > * { padding: var(--space-lg); } .cta-band__grid { grid-template-columns: minmax(0, 1fr); } .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); } .aside-card { position: static; } .request-card { padding: var(--space-lg); } .visit__photos { grid-template-columns: minmax(0, 1fr); } .visit__photos figure:last-child { display: none; } } @media (max-width: 40rem) { .request__grid { grid-template-columns: minmax(0, 1fr); } .hero__actions .btn { font-size: var(--text-sm); } } @media (max-width: 23.4rem) { .hero__actions .btn__long { display: none; } .hero__actions .btn__short { display: inline; } }
