:root { color-scheme: light; --paper: #f7f3ef; --ink: #554c43; --olive: #60743a; --olive-dark: #4f6827; --line: #a4ad8d; --serif: Georgia, "Times New Roman", serif; --sans: "Segoe UI", Arial, sans-serif; font-family: var(--serif); color: var(--ink); background: var(--paper); } * { box-sizing: border-box; } body { margin: 0; } button, a { -webkit-tap-highlight-color: transparent; } button { font: inherit; } a { color: inherit; } button, summary { cursor: pointer; } button { color: inherit; } svg { display: block; } a:focus-visible, button:focus-visible { outline: 2px solid var(--olive-dark); outline-offset: 5px; } [hidden] { display: none !important; } .svg-library { position: absolute; width: 0; height: 0; overflow: hidden; } .skip-link { position: fixed; z-index: 50; top: 12px; left: 12px; padding: 12px 20px; background: white; transform: translateY(-150%); font-family: var(--sans); } .skip-link:focus { transform: translateY(0); } .hero { position: relative; height: 100vh; height: 100dvh; width: 100%; overflow: clip; container-type: size; isolation: isolate; background: var(--paper) url("assets/hero-background.jpg") center / 100% 100% no-repeat; } .hero-scene { position: absolute; z-index: -1; left: 49.4%; top: 16.47%; right: 0; bottom: 0; overflow: hidden; } .hero-scene img { position: absolute; display: block; max-width: none; width: 197.63%; height: 119.72%; right: 0; bottom: 0; } .site-header { position: absolute; z-index: 10; top: 2.3cqh; left: 7.18%; right: 4.1%; display: flex; align-items: flex-start; justify-content: space-between; gap: 4vw; } .brand { position: relative; display: block; flex: 0 0 auto; width: 18.5cqh; height: 18.5cqh; overflow: hidden; } .brand img { position: absolute; width: 151.6%; height: auto; max-width: none; top: -23.3%; left: -26%; } .main-navigation { position: absolute; left: 22vw; display: flex; align-items: center; gap: 0; margin-top: 5.7cqh; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-family: var(--serif); } .nav-items { display: flex; align-items: center; gap: 0; } .nav-items > * { position: relative; } .nav-items > * + *::before, .nav-call::before { position: absolute; left: 0; top: 50%; width: 1px; height: 2.95cqh; content: ""; background: #8d9678; transform: translateY(-50%); } .nav-link { position: relative; display: flex; align-items: center; gap: 0; padding: 8px 1.45vw; border: 0; background: none; color: #625c36; font-size: min(1.43vw, 2.65cqh); line-height: 1.4; font-weight: 400; text-decoration: none; white-space: nowrap; transition: color .18s ease; } .services-toggle { padding-left: 0; } .nav-link::after { position: absolute; bottom: 5px; left: 1.45vw; right: 1.45vw; content: ""; height: 1px; background: var(--olive); transform: scaleX(0); transform-origin: left; transition: transform .18s ease; } .services-toggle::after { left: 0; } .nav-link:hover, .nav-link[aria-expanded="true"] { color: var(--olive-dark); } .nav-link:hover::after, .nav-link[aria-expanded="true"]::after { transform: scaleX(1); } .nav-link svg { display: none; } .nav-link[aria-expanded="true"] svg { transform: rotate(180deg); } .nav-call { position: relative; display: flex; align-items: center; gap: 0; padding: 8px 0 8px 1.45vw; background: transparent; border-radius: 0; color: #625c36; text-decoration: none; font-size: min(1.43vw, 2.65cqh); line-height: 1.4; font-weight: 400; white-space: nowrap; transition: color .18s ease; } .nav-call:hover { background: transparent; color: var(--olive-dark); } .nav-call svg { display: none; } .services-menu { position: relative; } .services-dropdown { position: absolute; top: calc(100% + 12px); left: -20px; min-width: 320px; padding: 20px 22px 15px; border: 1px solid #dedfd0; border-radius: 8px; background: #faf8f3; box-shadow: 0 18px 50px rgb(50 54 33 / 10%); font-family: var(--sans); } .dropdown-label { display: block; margin-bottom: 10px; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; color: #798264; } .services-dropdown a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 0; text-decoration: none; font-size: 14px; color: #4d5140; border-top: 1px solid #e3e3d8; } .services-dropdown a span { color: var(--olive); transition: transform .18s ease; } .services-dropdown a:hover { color: var(--olive-dark); } .services-dropdown a:hover span { transform: translate(2px, -2px); } .menu-toggle { display: none; } .hero-content { position: absolute; top: 23.95%; left: 7.18%; width: 38.3%; outline: none; } .eyebrow { display: flex; align-items: center; justify-content: space-between; gap: .4em; margin: 0; padding-bottom: 1.05cqh; border-bottom: 1px solid var(--line); color: var(--olive-dark); font-family: "Times New Roman", serif; font-size: min(1.32vw, 2.35cqh); line-height: 1.2; font-weight: 700; text-transform: uppercase; white-space: nowrap; letter-spacing: -.035em; } .eyebrow span { font-size: .9em; } .title-wrap { position: relative; margin-top: 1.7cqh; text-align: center; } h1 { margin: 0; font-weight: 400; font-size: min(3.9vw, 6.85cqh); line-height: .995; letter-spacing: -.025em; } h1 span { display: block; white-space: nowrap; } h1 span:first-child { letter-spacing: 0; } h1 span:nth-child(2) { letter-spacing: -.008em; } .hand-drawn { position: absolute; width: 65%; height: 5.1cqh; left: 35.6%; bottom: -3.4cqh; overflow: visible; } .hero-description { margin: 3.75cqh 0 0; text-align: center; font-size: min(1.72vw, 3.02cqh); line-height: 1.22; letter-spacing: -.018em; } .hero-description span { display: block; white-space: nowrap; } .benefits { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 2.4cqh -.8vw 0 -2.9vw; } .benefits li { position: relative; display: flex; flex-direction: column; align-items: center; gap: .3cqh; text-align: center; color: #171a14; font-size: min(1.5vw, 2.7cqh); line-height: 1.06; } .benefits li + li::before { position: absolute; content: ""; width: 1px; height: 10.7cqh; left: 0; top: 1.5cqh; background: var(--line); } .benefits svg { height: 6.4cqh; width: 7.2cqh; color: var(--olive-dark); fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; } .hero-actions { display: flex; align-items: center; gap: 1.1vw; margin: 4.7cqh -1.25vw 0; } .button { display: flex; justify-content: center; align-items: center; gap: .85vw; min-width: 0; height: 7.15cqh; padding: 0 1.55vw; border: 1px solid var(--olive); border-radius: 100px; font-size: min(1.63vw, 2.9cqh); text-decoration: none; white-space: nowrap; transition: background .18s ease, box-shadow .18s ease; } .button svg { flex-shrink: 0; width: 3.5cqh; height: 3.5cqh; fill: none; stroke: currentColor; stroke-width: 2; } .button-primary { flex: 1.25; color: #fffdf5; background: var(--olive); } .button-primary:hover { background: var(--olive-dark); box-shadow: 0 4px 14px rgb(74 94 36 / 14%); } .button-secondary { flex: 1; color: #171a14; background: rgb(255 255 255 / 8%); font-size: min(1.59vw, 2.83cqh); gap: .7vw; } .button-secondary svg { width: 2.6cqh; height: 2.6cqh; color: var(--olive-dark); } .button-secondary:hover { background: #e9eddf; } .offer-dialog { width: min(720px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 44px; border: 1px solid #d9ddc9; border-radius: 24px; color: var(--ink); background: #faf7f1; box-shadow: 0 30px 100px #26351430; } .offer-dialog::backdrop { background: rgb(33 40 23 / 38%); backdrop-filter: blur(5px); } .dialog-close { position: absolute; right: 16px; top: 12px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #d6dcc6; border-radius: 50%; background: transparent; font: 28px/1 var(--sans); } .dialog-close:hover { background: #e9eddf; } .dialog-eyebrow { margin: 0 0 14px; color: var(--olive); font: 11px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .12em; } .offer-dialog h2 { margin: 0 0 28px; font-size: clamp(27px, 4vw, 38px); font-weight: 400; } .offer-list section { display: flex; gap: 20px; padding: 20px 0; border-top: 1px solid #d9ddcc; } .offer-number { color: #869364; font-size: 15px; padding-top: 3px; } .offer-list h3 { margin: 0 0 9px; color: var(--olive-dark); font-size: 21px; font-weight: 400; } .offer-list p { margin: 0; font: 14px/1.65 var(--sans); } .dialog-call { display: flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; margin-top: 16px; padding: 15px 25px; border-radius: 40px; text-decoration: none; background: var(--olive); color: #fffdf7; font-size: 18px; } .dialog-call svg { width: 19px; height: 19px; } @media (max-width: 1150px) { .site-header { right: 4%; } } @media (max-width: 980px), (max-aspect-ratio: 6/5) { .site-header { right: 5%; } .menu-toggle { display: flex; align-items: center; gap: 14px; margin-top: 3cqh; padding: 12px 8px; border: 0; border-radius: 0; color: #625c36; background: transparent; font: 18px/1 var(--serif); } .hamburger { display: grid; gap: 5px; width: 18px; } .hamburger i { display: block; height: 1px; background: currentColor; transition: transform .18s ease; } .menu-toggle[aria-expanded="true"] .hamburger i:first-child { transform: translateY(3px) rotate(45deg); } .menu-toggle[aria-expanded="true"] .hamburger i:last-child { transform: translateY(-3px) rotate(-45deg); } .main-navigation { display: none; position: absolute; left: auto; right: 0; top: calc(3cqh + 53px); width: min(360px, 86vw); max-height: calc(94dvh - 100px); overflow-y: auto; margin: 0; padding: 16px 22px; border: 1px solid #d3d7c5; border-radius: 8px; background: #faf8f3; box-shadow: 0 14px 45px #35402520; } .main-navigation.is-open { display: block; } .nav-items { display: block; } .nav-link { width: 100%; padding: 13px 0; font-size: 18px; border-bottom: 1px solid #e0e2d5; } .nav-link::after { display: none; } .nav-items > * + *::before, .nav-call::before { display: none; } .nav-call { justify-content: center; gap: 9px; margin-top: 18px; padding: 12px; background: var(--olive); color: #fffdf8; border-radius: 4px; font-size: 17px; } .nav-call:hover { background: var(--olive-dark); color: #fffdf8; } .nav-call svg { display: block; width: 15px; height: 15px; } .services-toggle { justify-content: space-between; } .services-dropdown { position: static; min-width: 0; padding: 8px 0 5px 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .dropdown-label { display: none; } .services-dropdown a { font-size: 13px; padding: 12px 0; } .services-dropdown a:first-of-type { border: 0; } } @media (max-aspect-ratio: 6/5) { .site-header { top: 1.9cqh; left: 5.2%; right: 5.2%; } .brand { width: 10.3cqh; height: 10.3cqh; } .menu-toggle { margin-top: 1.3cqh; } .main-navigation { top: calc(1.3cqh + 54px); } .hero { background-image: none; } .hero-content { top: 15.1%; left: 5.2%; width: 89.6%; max-width: 580px; } .eyebrow { justify-content: flex-start; gap: .45em; padding-bottom: 1cqh; font-size: min(2.8vw, 1.5cqh); letter-spacing: -.04em; } .title-wrap { margin-top: 2cqh; } h1 { font-size: min(8.5vw, 4.2cqh); line-height: 1.065; letter-spacing: -.027em; } h1 span:first-child, h1 span:nth-child(2) { letter-spacing: inherit; } .hand-drawn { width: 65%; height: 3.6cqh; bottom: -2.25cqh; } .hero-description { margin-top: 2.95cqh; font-size: min(4.05vw, 2.05cqh); line-height: 1.35; letter-spacing: -.025em; } .benefits { margin: 2.35cqh 0 0; } .benefits li { gap: .45cqh; font-size: min(3.65vw, 1.85cqh); line-height: 1.1; } .benefits svg { width: 4.3cqh; height: 4.3cqh; stroke-width: 2.4; } .benefits li + li::before { top: .7cqh; height: 7cqh; } .hero-actions { margin: 2.55cqh -.4vw 0; gap: 2vw; } .button { height: 5.9cqh; padding: 0 2.3vw; gap: 1.5vw; font-size: min(3.85vw, 2.05cqh); } .button-primary { flex: 1.3; } .button svg { width: 2.6cqh; height: 2.6cqh; } .button-secondary { font-size: min(3.65vw, 1.95cqh); gap: 1vw; } .button-secondary svg { width: 1.9cqh; height: 1.9cqh; } .hero-scene { top: 66%; left: 0; } .hero-scene img { width: 197.63%; height: auto; } } @media (min-aspect-ratio: 21/9) { .hero-content { width: 40%; } } @media (max-width: 480px) { .offer-dialog { padding: 40px 24px 28px; } .offer-dialog h2 { margin-bottom: 20px; } .offer-list section { gap: 12px; padding: 17px 0; } .offer-list h3 { font-size: 19px; } .offer-list p { font-size: 13px; } .dialog-call { width: 100%; padding: 15px 12px; font-size: 16px; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } } .hero-write{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 10px;margin-top:1.6cqh;min-height:40px;color:var(--olive-dark);font:15px/1.5 var(--sans);text-underline-offset:4px}.hero-write span{font-weight:600} @media(max-width:650px){.hero-write{margin-top:10px;min-height:44px;font-size:13px}} @media(max-aspect-ratio:6/5){.hero{display:flex;flex-direction:column}.hero-content{position:relative;inset:auto;order:1;flex:0 0 auto;margin:15.1cqh 0 0 5.2%;padding-bottom:16px}.hero-scene{position:relative;inset:auto;order:2;flex:1;min-height:0;width:100%}} :root { --paper: #fcfbf8; --soft: #f1f0e8; --text: #343b2e; --muted: #626759; --rule: #d8dccd; --deep: #35452d; --accent: #5c703d; } html { scroll-behavior: smooth; scroll-padding-top: 100px; } body { background: var(--paper); } .hero { background: var(--paper); } .dropdown-label { font-size: 12px; color: #626d50; } .services-dropdown a { font-size: 16px; min-height: 46px; } .nav-link, .nav-call { min-height: 44px; } .hero-actions .button { min-height: 44px; } .wrap { width: min(1240px, 85.6%); margin-inline: auto; } .section { padding: clamp(72px, 8.5vw, 132px) 0; color: var(--text); font: 16px/1.7 var(--sans); } .section :is(h2,h3,p,figure,blockquote), .paulina-section :is(h2,p,blockquote), .contact-section :is(h2,p) { margin-top: 0; } .section-heading { display: grid; grid-template-columns: 1.12fr .88fr; gap: 9%; align-items: end; margin-bottom: 56px; } .kicker { margin: 0 0 20px; color: #5e6b4e; font: 12px/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; } .section-title { margin: 0; font: 400 clamp(34px, 3.9vw, 58px)/1.09 var(--serif); letter-spacing: -.035em; text-wrap: balance; } .section-intro { max-width: 430px; margin: 0 0 3px; color: var(--muted); } .text-link, .light-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid #96a181; background: transparent; color: #41572f; font: 600 15px/1.5 var(--sans); text-decoration: none; text-align: left; } .text-link span, .light-link span { font-size: 22px; transition: transform .2s ease; } .text-link:hover span, .light-link:hover span { transform: translate(3px,-3px); } .gallery-section { background: #f2f3ec; } .gallery-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 30px; padding-block: 18px; border-block: 1px solid #d1d6c5; } .filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; } .filter-buttons button { min-height: 44px; padding: 10px 18px; border: 1px solid transparent; border-radius: 40px; background: transparent; color: #536045; font: 14px/1.4 var(--sans); transition: background .18s, color .18s; } .filter-buttons button:hover { border-color: #a7b097; } .filter-buttons button.is-active { color: #fffdf7; background: #52643b; } .gallery-count { color: #5d6652; font: 12px/1.5 var(--sans); white-space: nowrap; } .gallery-feature { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 46px; background: var(--paper); } .feature-photo { min-width: 0; background: #e9e9e0; } .comparison { position: relative; height: 640px; overflow: hidden; } .comparison > img { display: block; width: 100%; height: 100%; object-fit: contain; } .state-label { position: absolute; top: 20px; left: 20px; padding: 7px 12px; background: #fcfbf8ef; color: #37472d; font: 12px/1.5 var(--sans); } .compare-switch { display: flex; gap: 6px; padding: 6px; border-radius: 40px; background: #fcfbf8; box-shadow: 0 4px 18px #1e2a2317; } .comparison .compare-switch { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); } .compare-switch button { min-width: 88px; min-height: 44px; border: 0; border-radius: 30px; background: transparent; color: #425234; font: 15px/1.5 var(--sans); transition: background .18s, color .18s; } .compare-switch button[aria-pressed="true"] { background: #52643b; color: white; } .compare-switch button:hover { outline: 1px solid #99a889; } .feature-copy { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: clamp(26px,4vw,64px); } .feature-copy .kicker { font-size: 12px; letter-spacing: .08em; } .feature-copy h3 { margin-bottom: 24px; font: 400 clamp(30px,3.2vw,46px)/1.12 var(--serif); letter-spacing: -.025em; } .feature-copy > p:not(.kicker) { color: var(--muted); } .scope-list { list-style: none; width: 100%; margin: 4px 0 22px; padding: 0; } .scope-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e1e4d8; color: #4c5743; font-size: 14px; } .scope-list li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #738653; } .feature-note { margin-top: 20px; color: #64695a; font: 12px/1.5 var(--sans); } .project-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,270px),1fr)); gap: 32px; } .work-card { min-width: 0; } .project-grid.is-single { grid-template-columns: 1fr; } .project-grid.is-single .work-card { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto 1fr; column-gap: 5%; } .project-grid.is-single .work-image { grid-row: 1 / 4; } .project-grid.is-single .work-card > :not(.work-image) { grid-column: 2; } .work-image { position: relative; display: block; width: 100%; padding: 0; border: 0; overflow: hidden; background: #e4e7db; text-decoration: none; } .work-image { aspect-ratio: 1.18; } .work-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.3,1); } .work-card:first-child .work-image img { object-position: center 40%; } .work-image:hover img { transform: scale(1.025); } .image-open { position: absolute; bottom: 16px; right: 16px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fcfbf8; color: #43572f; font: 24px var(--sans); } .image-tag { position: absolute; left: 16px; top: 16px; padding: 6px 10px; background: #fcfbf8f2; color: #415035; font: 12px/1.5 var(--sans); } .project-category { margin: 24px 0 10px; color: #5c694d; font: 12px/1.5 var(--sans); text-transform: uppercase; letter-spacing: .07em; } .work-card h3 { margin-bottom: 10px; font: 400 27px/1.2 var(--serif); letter-spacing: -.015em; } .work-card > p:last-child { margin-bottom: 0; color: var(--muted); } .paulina-section { padding: clamp(74px,9vw,145px) 0; background: var(--deep); color: #f9f8ef; } .paulina-layout { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 10%; } .paulina-intro .kicker { color: #c7d1b7; } .paulina-intro h2 { margin-bottom: 0; font: 400 clamp(34px,3.55vw,52px)/1.15 var(--serif); letter-spacing: -.03em; } .paulina-intro h2 em { display: inline-block; margin-top: 6px; color: #d1dcbb; font-weight: 400; } .drawn-line { width: 83%; margin: 12px 0 26px; fill: none; stroke: #99ae73; stroke-width: 2; } .paulina-intro > p:not(.kicker) { max-width: 480px; margin-bottom: 24px; color: #e3e8da; font: 16px/1.8 var(--sans); } .light-link { color: #faf9f1; border-color: #9aa88b; } .personal-letter { position: relative; isolation: isolate; padding: 100px 52px 48px; background: transparent; color: #394531; border-radius: 0; box-shadow: none; transform: none; } .personal-letter::before { content: ''; position: absolute; z-index: -1; inset: 0; box-sizing: border-box; border-style: solid; border-color: transparent; border-width: 255px 150px 54px 39px; border-image-source: url('assets/letter-paper-botanical.webp'); border-image-slice: 850 500 180 130 fill; border-image-width: 255px 150px 54px 39px; border-image-repeat: stretch; pointer-events: none; } .letter-leaf { display: none; } .personal-letter .letter-hello { margin-bottom: 18px; font: italic 38px/1.2 var(--serif); } .personal-letter > p:not(.letter-hello,.letter-signature) { max-width: calc(100% - 30px); font: 16px/1.7 var(--sans); } .personal-letter blockquote { margin: 24px 0; font: 400 26px/1.45 var(--serif); } .personal-letter .letter-signature { margin: 18px 0 25px; font: italic 36px var(--serif); } .letter-caption { display: block; padding-top: 18px; border-top: 1px solid #d4dcc8; color: #657158; font: 12px/1.6 var(--sans); } .area-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 7%; align-items: center; } .location-map { background: #f0f2e9; border: 1px solid #e1e5d9; } .location-map > svg { width: 100%; height: auto; } .river { fill: none; stroke: #cfdbd8; stroke-width: 20; } .river-name { fill: #4a6d71; font: italic 17px var(--serif); } .map-node text { fill: #4c5640; font: 16px var(--sans); } .map-node .map-sub { font-size: 13px; } .green circle, .area-dot.green { fill: #637b3c; background: #637b3c; } .blue circle, .area-dot.blue { fill: #557983; background: #557983; } .orange circle, .area-dot.orange { fill: #a77943; background: #a77943; } .map-base .base-ring { fill: #dce4cc; } .map-caption { padding: 0 22px 18px; margin: 0; color: #626d56; font: 12px/1.6 var(--sans); } .area-group { display: flex; gap: 17px; padding: 20px 0; border-bottom: 1px solid var(--rule); } .area-group:first-child { padding-top: 0; } .area-dot { flex-shrink: 0; width: 9px; height: 9px; margin-top: 8px; border-radius: 50%; } .area-group h3 { margin-bottom: 10px; font: 400 25px/1.2 var(--serif); } .area-group p { margin-bottom: 0; color: var(--muted); } .area-note { display: inline-block; padding: 3px 10px; margin-top: 12px; background: #e9eedf; color: #516a37; font: 12px/1.6 var(--sans); } .area-list > .text-link { margin-top: 22px; } summary:focus-visible { outline: 2px solid #4f6827; outline-offset: 4px; } .contact-section { padding: clamp(70px,8vw,120px) 0 65px; background: #e7ecdb; color: #35452d; } .contact-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; } .contact-top h2 { margin-bottom: 35px; font: 400 clamp(37px,5.4vw,78px)/1.07 var(--serif); letter-spacing: -.04em; } .contact-arrow { display: grid; place-items: center; flex: 0 0 auto; width: 95px; height: 95px; border: 1px solid #8f9d79; border-radius: 50%; color: #4b6037; font: 50px var(--sans); text-decoration: none; transition: background .2s; } .contact-arrow:hover { background: #d7e0c7; } .contact-number { display: inline-block; margin-bottom: 44px; color: #40572e; font: 400 clamp(31px,4.8vw,69px)/1.1 var(--serif); text-decoration: none; letter-spacing: -.025em; } .contact-number:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; } .contact-details { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-top: 30px; border-top: 1px solid #aebba0; font: 14px/1.8 var(--sans); } .contact-details a { display: flex; align-items: center; gap: 24px; min-height: 44px; text-underline-offset: 5px; } .site-footer { padding: 35px 0; background: #fcfbf8; color: #5b634e; } .site-footer > .wrap { display: flex; justify-content: space-between; align-items: center; gap: 25px; } .footer-wordmark { font: 24px var(--serif); text-decoration: none; } .footer-wordmark span { display: block; margin-top: 5px; font: 12px var(--sans); } .site-footer p { font: 12px/1.6 var(--sans); } .back-top { display: grid; place-items: center; min-width: 75px; min-height: 44px; font: 13px var(--sans); text-decoration: none; } .compact-nav { position: fixed; z-index: 30; top: 14px; left: 50%; display: flex; align-items: center; gap: 28px; width: min(1240px,92%); min-height: 64px; padding: 8px 24px; border: 1px solid #d9dfce; border-radius: 4px; background: #fcfbf8f7; box-shadow: 0 8px 25px #24361a0d; transform: translate(-50%,-120px); visibility: hidden; transition: transform .25s ease, visibility .25s; } .compact-nav.is-visible { transform: translate(-50%,0); visibility: visible; } .compact-brand { font: 24px var(--serif); text-decoration: none; color: #465c31; } .compact-nav > div { display: flex; align-items: center; margin-left: auto; } .compact-nav > div a { display: grid; place-items: center; min-height: 44px; padding: 0 12px; color: #536046; font: 14px var(--sans); text-decoration: none; } .compact-nav > div a:hover { color: #2d4022; text-decoration: underline; text-underline-offset: 6px; } .compact-call { padding: 12px 17px; border-radius: 3px; background: #52663a; color: white; font: 14px var(--sans); text-decoration: none; white-space: nowrap; } .mobile-dock { display: none; } body.modal-open { overflow: hidden; } .project-dialog { width: min(1120px,calc(100% - 40px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; overflow-y: auto; border: 1px solid #d3dcca; border-radius: 6px; background: var(--paper); color: var(--text); box-shadow: 0 20px 90px #18281145; } .project-dialog::backdrop { background: #1d2a20a8; backdrop-filter: blur(5px); } .project-dialog-header { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 12px 20px; border-bottom: 1px solid #dde1d4; background: var(--paper); } .project-dialog-header .kicker { margin: 0; font-size: 11px; } .project-close { width: 44px; height: 44px; flex-shrink: 0; padding: 0; border: 1px solid #c2cdb5; border-radius: 50%; background: none; color: #415432; font: 28px/1 var(--sans); } .project-close:hover { background: #e6ecdb; } .project-dialog-layout { display: grid; grid-template-columns: 1.15fr 1fr; } .dialog-photo { position: relative; min-width: 0; height: min(690px,calc(100dvh - 130px)); background: #e8e9e1; } .dialog-photo img { display: block; width: 100%; height: 100%; object-fit: contain; } .project-dialog-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 40px 32px; } .project-dialog-copy h2 { margin: 0 0 24px; font: 400 37px/1.1 var(--serif); letter-spacing: -.03em; } .dialog-switch { margin-bottom: 24px; background: #e9eddf; box-shadow: none; } .project-dialog-copy > p:not(.kicker) { margin: 0 0 22px; color: var(--muted); font: 16px/1.7 var(--sans); } .button-small { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; margin-top: 28px; border-radius: 4px; background: #52663a; color: white; font: 15px/1.5 var(--sans); text-decoration: none; } .article-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--rule); } .article-brand { color: #4d6037; font: 29px var(--serif); text-decoration: none; } .article-header > a:last-child { color: #4d6037; font: 15px var(--sans); } .article-content { max-width: 760px; padding: 65px 0 80px; margin: auto; color: var(--text); font: 17px/1.8 var(--sans); } .article-content h1 { margin: 0 0 28px; font: 400 clamp(36px,5vw,60px)/1.1 var(--serif); letter-spacing: -.035em; } .article-content h2 { margin: 35px 0 15px; font: 400 29px/1.2 var(--serif); } .article-content .article-lead { font-size: 19px; color: #536047; } .article-content figure { margin: 35px 0; } .article-content img { display: block; width: 100%; max-height: 570px; object-fit: contain; background: #eff0e8; } .article-content figcaption { margin-top: 10px; color: #626d56; font-size: 13px; } .article-contact { padding-top: 28px; margin-top: 40px; border-top: 1px solid var(--rule); } @keyframes panel-in { from { opacity: .3; transform: translateY(5px); } to { opacity: 1; transform: none; } } @keyframes section-in { from { opacity: .35; transform: translateY(18px); } to { opacity: 1; transform: none; } } .reveal.is-entering { animation: section-in .65s cubic-bezier(.16,.7,.3,1) both; } @media (max-width: 1100px) { .compact-nav { gap: 15px; padding-inline: 16px; } .compact-nav > div a { padding-inline: 8px; font-size: 13px; } .compact-brand { font-size: 21px; } .comparison { height: 570px; } .feature-copy { padding: 30px; } .personal-letter { padding: 90px 38px 42px; } } @media (max-width: 980px), (max-aspect-ratio: 6/5) { .services-toggle svg { display: block; width: 16px; height: 16px; margin-left: 12px; fill: none; stroke: currentColor; stroke-width: 1.3; } .compact-nav { display: none; } .mobile-dock { position: fixed; z-index: 25; bottom: 0; left: 0; display: flex; justify-content: center; gap: 10px; width: 100%; padding: 10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); border-top: 1px solid #d5ddc9; background: #fcfbf8f7; box-shadow: 0 -5px 20px #3041220a; transform: translateY(110%); visibility: hidden; transition: transform .22s, visibility .22s; } .mobile-dock.is-visible { transform: none; visibility: visible; } .mobile-dock a { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 46px; padding: 10px 12px; border: 1px solid #91a279; border-radius: 4px; color: #445b32; font: 14px/1.4 var(--sans); text-decoration: none; } .mobile-dock a:first-child { flex: 1; background: #52663a; border-color: #52663a; color: white; } .mobile-dock a:last-child { flex: 1.45; } .mobile-dock svg { width: 17px; height: 17px; } .site-footer { padding-bottom: 95px; } .section-heading { gap: 6%; } .comparison { height: 570px; } .feature-copy { padding: 26px; } .feature-copy h3 { font-size: 34px; } .feature-copy .kicker { letter-spacing: .03em; } .project-grid { gap: 25px; } .paulina-layout { gap: 7%; } .personal-letter blockquote { font-size: 23px; } .area-layout { grid-template-columns: 1fr 1fr; gap: 5%; } .contact-details { flex-wrap: wrap; } } @media (max-width: 700px) { html { scroll-padding-top: 24px; scroll-padding-bottom: calc(90px + env(safe-area-inset-bottom)); } .wrap { width: calc(100% - 40px); } .section { padding: 70px 0; } .section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 34px; } .section-title { font-size: clamp(32px,8.8vw,46px); } .kicker { margin-bottom: 15px; font-size: 12px; } .section-intro { max-width: 100%; } .gallery-toolbar { flex-wrap: wrap; gap: 12px; padding-top: 0; border-top: 0; } .filter-buttons { gap: 6px; } .filter-buttons button { padding: 9px 12px; font-size: 13px; } .gallery-count { margin-left: 6px; } .gallery-feature { display: block; margin-bottom: 32px; } .comparison { height: auto; aspect-ratio: .68; max-height: 660px; } .feature-copy { padding: 30px 24px; } .feature-copy h3 { font-size: 35px; margin-bottom: 20px; } .feature-copy .text-link { font-size: 14px; gap: 15px; } .project-grid { grid-template-columns: 1fr; gap: 34px; } .project-grid.is-single .work-card { display: block; } .work-image { aspect-ratio: 1.2; } .work-card h3 { font-size: 28px; } .project-category { margin-top: 20px; } .paulina-section { padding: 70px 0 76px; overflow: hidden; } .paulina-layout { display: block; } .paulina-intro h2 { font-size: clamp(32px,8.1vw,42px); } .paulina-intro > p:not(.kicker) { max-width: none; } .personal-letter { margin: 44px 6px 0 1px; padding: 88px 32px 38px; } .personal-letter blockquote { font-size: 25px; } .letter-caption { font-size: 11px; } .area-layout { display: flex; flex-direction: column; gap: 32px; align-items: stretch; } .location-map { margin-inline: -5px; } .map-node text { font-size: 20px; } .map-node .map-sub { font-size: 16px; } .map-caption { font-size: 12px; padding-inline: 15px; } .contact-section { padding: 65px 0 40px; } .contact-top { align-items: flex-start; } .contact-top h2 { font-size: clamp(34px,9vw,46px); margin-bottom: 30px; } .contact-arrow { width: 48px; height: 48px; font-size: 27px; margin-top: 4px; } .contact-number { font-size: clamp(36px,11vw,52px); margin-bottom: 30px; } .contact-details { flex-direction: column; gap: 22px; font-size: 14px; } .site-footer > .wrap { flex-wrap: wrap; gap: 20px; } .site-footer p { order: 3; width: 100%; margin: 0; } .back-top { margin-left: auto; } .project-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); } .project-dialog-header { padding: 10px 14px; } .project-dialog-header .kicker { max-width: 200px; } .project-dialog-layout { display: block; } .dialog-photo { height: min(65dvh,570px); } .project-dialog-copy { padding: 28px 22px 32px; } .project-dialog-copy h2 { font-size: 34px; } .article-header { flex-wrap: wrap; padding-block: 20px; } .article-brand { font-size: 27px; } .article-content { padding-block: 40px 50px; font-size: 16px; } .article-content h1 { font-size: 38px; } .article-content .article-lead { font-size: 18px; } } @media (max-width: 350px) { .wrap { width: calc(100% - 32px); } .filter-buttons button { padding-inline: 9px; font-size: 12px; } .feature-copy { padding-inline: 20px; } .mobile-dock { gap: 7px; } .mobile-dock a { padding-inline: 8px; font-size: 13px; } .contact-top h2 { font-size: 31px; } .personal-letter { padding-inline: 28px; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } } .paulina-write{display:flex;width:fit-content;margin-top:16px;font:600 15px/1.6 var(--sans)} .services-section{--offer-paper:#fcfbf8;--offer-sage:#edf0e7;--offer-ink:#343b2e;--offer-muted:#626759;--offer-olive:#52643b;--offer-line:#cbd2bd;--orbit-special:#f5f0e6;--orbit-home:#edf1e8;--orbit-order:#edf1f2;--orbit-edge:#ded4b7;--orbit-botanical:#a2aa77;--orbit-shadow:#77734b1c;color:var(--offer-ink)} .offer-wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto} .offer-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin-bottom:36px} .offer-heading h2{margin:0;font:400 clamp(36px,3.4vw,55px)/1.07 var(--serif);letter-spacing:-.035em} .offer-heading>p{margin:0;padding-left:28px;border-left:1px solid var(--offer-line);color:var(--offer-muted);font:17px/1.7 var(--sans)} .offer-audiences{display:grid;grid-template-columns:1.35fr 1fr;margin-bottom:34px;border-block:1px solid var(--offer-line)} .offer-audiences a{display:flex;justify-content:space-between;gap:20px;min-height:60px;padding:16px 24px;color:var(--offer-olive);font:600 16px/1.5 var(--sans);text-decoration:none} .offer-audiences a+a{border-left:1px solid var(--offer-line)}.offer-audiences a:hover{background:var(--offer-sage)} .offer-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:4%;align-items:start} .offer-private,.offer-business,.offer-orbit,.offer-anchor{scroll-margin-top:150px;min-width:0} .offer-group-heading{margin-bottom:20px}.offer-overline{margin:0 0 12px;color:var(--offer-olive);font:600 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase} .offer-group-heading h3{margin:0;text-align:center;font:400 clamp(30px,2.65vw,42px)/1.18 var(--serif);letter-spacing:-.025em} .offer-heading-sprig{width:40%;height:25px;margin:12px auto 0;overflow:visible;color:var(--orbit-botanical)}.offer-heading-sprig>path:first-child{fill:none;stroke:var(--orbit-botanical);stroke-width:1}.offer-heading-sprig>path+path{fill:var(--orbit-botanical)} .offer-orbits{position:relative;width:100%;aspect-ratio:1/.83;margin:22px 0 26px;isolation:isolate} .offer-orbit-connectors{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;stroke:var(--orbit-botanical);stroke-width:1.35} .offer-orbit{position:absolute;width:44%;aspect-ratio:1;border:1px solid var(--orbit-edge);border-radius:50%;background:var(--orbit-tint);box-shadow:0 2px 2px #fff9 inset,0 13px 27px var(--orbit-shadow);container-type:inline-size;animation:offer-float 17s ease-in-out infinite both;animation-play-state:paused;will-change:auto;scale:1;filter:invert(0);transition:scale 1.6s cubic-bezier(.2,.65,.3,1),filter .65s ease} .offer-orbit-special{--orbit-tint:var(--orbit-special);left:0;top:0;--roam-x:5px;--roam-y:-7px;--roam-turn:-.65deg} .offer-orbit-home{--orbit-tint:var(--orbit-home);right:0;top:0;--roam-x:-6px;--roam-y:5px;--roam-turn:.6deg;animation-duration:21s;animation-delay:-8s} .offer-orbit-order{--orbit-tint:var(--orbit-order);left:28%;top:45%;--roam-x:5px;--roam-y:6px;--roam-turn:.5deg;animation-duration:19s;animation-delay:-13s} .offer-orbit-link{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:38.5% 11% 8%;border-radius:50%;color:var(--offer-ink);text-align:center;text-decoration:none;transition:box-shadow .25s ease,background-color .25s ease} .offer-orbit:has(.offer-orbit-link:focus-visible){z-index:2;scale:1.035;filter:invert(1);transition-duration:.75s,.4s} @media(hover:hover) and (pointer:fine){.offer-orbit:has(.offer-orbit-link:hover){z-index:2;scale:1.035;filter:invert(1);transition-duration:.75s,.4s}} .offer-orbit-link h4{position:absolute;inset:0;margin:0;pointer-events:none}.offer-orbit-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0} .offer-orbit-title{position:absolute;inset:0 0 auto;width:100%;height:auto;overflow:visible;fill:var(--offer-ink);font:400 25px var(--serif);letter-spacing:-.6px} .offer-orbit-icon{position:absolute;top:19.5%;left:42%;width:16%;height:16%;fill:none;stroke:var(--offer-olive);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} .offer-orbit p{margin:0;font:400 clamp(15px,4.6cqw,17px)/1.34 var(--serif);letter-spacing:-.015em;text-wrap:pretty} .offer-orbit-rule{flex:0 0 auto;width:16%;height:1px;margin-top:4.3%;background:var(--offer-olive);opacity:.6} .offer-orbit-sprig{position:absolute;left:-5%;bottom:-2%;width:42%;height:auto;overflow:visible;pointer-events:none}.offer-orbit-home .offer-orbit-sprig{left:auto;right:-5%;transform:scaleX(-1)} .offer-orbit-order .offer-orbit-sprig-right{left:auto;right:-5%;transform:scaleX(-1)} .offer-motion-toggle{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--offer-line);background:none;color:var(--offer-muted);font:12px/1.5 var(--sans);text-underline-offset:4px}.offer-motion-toggle:hover{color:var(--offer-olive)} .offer-orbits.is-in-view .offer-orbit{animation-play-state:running} .offer-orbits:has(.offer-orbit-link:hover) .offer-orbit,.offer-orbits:has(.offer-orbit-link:focus-visible) .offer-orbit,.offer-orbits:is(.is-paused,.is-page-hidden) .offer-orbit{animation-play-state:paused} @keyframes offer-float{0%,100%{transform:translate3d(0,0,0) rotate(0)}35%{transform:translate3d(var(--roam-x),var(--roam-y),0) rotate(var(--roam-turn))}70%{transform:translate3d(calc(var(--roam-x)*-.7),calc(var(--roam-y)*.4),0) rotate(calc(var(--roam-turn)*-.5))}} @media(prefers-reduced-motion:reduce){.offer-orbit{animation:none;scale:1!important;transition:none}.offer-motion-toggle{display:none}} .offer-orbits.has-reduced-motion .offer-orbit{animation:none} .offer-extra{padding:21px 0 0;border-top:1px solid var(--offer-line)}.offer-extra>p{margin:0 0 9px;color:var(--offer-muted);font:14px/1.5 var(--sans)}.offer-extra a{display:flex;justify-content:space-between;gap:16px;min-height:44px;padding-block:9px;color:var(--offer-olive);font:600 16px/1.5 var(--sans);text-decoration:none}.offer-extra a:hover{text-decoration:underline;text-underline-offset:4px} .offer-business{padding:35px 32px;background:var(--offer-sage);border-top:3px solid var(--offer-olive)}.offer-business h3{margin:0 0 24px;font:400 clamp(36px,3vw,48px)/1.05 var(--serif);letter-spacing:-.03em}.offer-business>.offer-business-lead{margin:0 0 25px;color:var(--offer-muted);font:17px/1.7 var(--sans)} .offer-business-scope{margin:0;padding:0}.offer-business-scope>div{padding:19px 0;border-top:1px solid var(--offer-line)}.offer-business-scope dt{margin:0 0 7px;font:400 25px/1.2 var(--serif)}.offer-business-scope dd{margin:0;color:var(--offer-muted);font:15px/1.65 var(--sans)} .offer-business-for{padding-top:22px;border-top:1px solid var(--offer-line)}.offer-business-for h4{margin:0 0 10px;font:600 14px/1.5 var(--sans)}.offer-business-for p{margin:0 0 22px;color:var(--offer-muted);font:15px/1.8 var(--sans)} .offer-business-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:8px 0;border-bottom:1px solid var(--offer-olive);color:var(--offer-olive);font:600 16px/1.5 var(--sans);text-decoration:none}.offer-call{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;margin-top:20px;padding:13px 16px;background:var(--offer-olive);color:var(--offer-paper);border:1px solid var(--offer-olive);border-radius:5px;font:600 15px/1.5 var(--sans);text-decoration:none}.offer-call:hover{background:#435530} .offer-reassurance{display:grid;grid-template-columns:.65fr 1fr;gap:35px;align-items:center;margin-top:45px;padding-top:35px;border-top:1px solid var(--offer-line)}.offer-reassurance>img{width:100%;height:235px;object-fit:cover;object-position:70% 50%;border-radius:7px}.offer-reassurance h3{max-width:650px;margin:0 0 18px;font:400 clamp(28px,2.6vw,39px)/1.13 var(--serif);letter-spacing:-.025em}.offer-reassurance>div>p:not(.offer-overline){margin:0 0 13px;color:var(--offer-muted);font:16px/1.75 var(--sans)}.offer-reassurance a{display:inline-flex;align-items:center;gap:25px;min-height:44px;color:var(--offer-olive);font:600 15px/1.5 var(--sans);text-underline-offset:5px} .services-section .offer-limit{margin:28px 0 0;color:var(--offer-muted);font:13px/1.65 var(--sans)}.offer-limit a{margin-left:12px;color:var(--offer-olive);text-underline-offset:4px}.services-section :is(a,[tabindex]):focus-visible{outline:2px solid var(--offer-olive);outline-offset:4px}.offer-business:target{box-shadow:0 0 0 2px var(--offer-olive)} @media(max-width:1100px){.offer-wrap{width:calc(100% - 56px)}.offer-business{padding:28px 25px}.offer-call{font-size:14px}.offer-business-for p{font-size:14px}.offer-audiences{grid-template-columns:1.2fr 1fr}} @media(max-width:800px){.offer-wrap{width:calc(100% - 40px)}.offer-heading{display:block;margin-bottom:28px}.offer-heading h2{font-size:42px}.offer-heading>p{margin-top:26px;padding-left:18px;font-size:16px}.offer-columns{grid-template-columns:1fr;gap:35px}.offer-audiences{grid-template-columns:1fr 1fr;margin-bottom:29px}.offer-audiences a{padding:15px;font-size:15px}.offer-business h3 br{display:none}.offer-business h3{font-size:39px}.offer-reassurance{grid-template-columns:.8fr 1fr;gap:25px}.offer-reassurance>img{height:270px}} @media(max-width:520px){.offer-heading h2{font-size:clamp(31px,8.5vw,40px)}.offer-heading h2 br{display:none}.offer-audiences a{align-items:center;padding:12px;font-size:14px;line-height:1.45}.offer-business{padding:28px 23px}.offer-business h3{font-size:37px}.offer-reassurance{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:28px}.offer-reassurance>img{height:auto;aspect-ratio:1.8}.offer-reassurance h3{font-size:31px}.offer-reassurance a{gap:15px;font-size:14px}} @media(max-width:350px){.offer-wrap{width:calc(100% - 32px)}.offer-business{padding-inline:19px}.offer-audiences a{padding-inline:10px;font-size:13px}} .offer-reassurance{grid-template-columns:minmax(240px,.65fr) minmax(0,1fr);gap:clamp(28px,5vw,75px);align-items:center;padding:40px 0 0}.offer-support-photo{width:min(100%,340px);margin:0 auto}.offer-support-photo img{display:block;width:100%;height:auto;border-radius:7px}.offer-reassurance h4{margin:24px 0 13px;font:400 clamp(23px,2.1vw,31px)/1.2 var(--serif);letter-spacing:-.02em}.offer-support-topics{display:grid;grid-template-columns:1fr 1fr;gap:0 23px;margin:19px 0 23px}.offer-support-topics a{justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--offer-line);font:500 14px/1.6 var(--sans);text-decoration:none}.offer-reassurance a.offer-write{display:flex;width:fit-content;padding:12px 21px;border-radius:4px;background:var(--offer-olive);color:var(--paper);text-decoration:none}.offer-business-write{display:block;margin-top:15px;color:var(--offer-olive);font:600 14px/1.6 var(--sans);text-underline-offset:4px} @media(max-width:800px){.offer-reassurance{grid-template-columns:minmax(210px,.7fr) minmax(0,1fr);gap:28px}.offer-support-topics{grid-template-columns:1fr}} @media(max-width:600px){.offer-reassurance{grid-template-columns:1fr;gap:29px}.offer-support-photo{max-width:320px}.offer-reassurance h4{font-size:25px}.offer-support-topics{grid-template-columns:1fr}.offer-reassurance a.offer-write{width:100%;justify-content:center;font-size:14px}} @media(max-width:1280px){.offer-columns{grid-template-columns:1fr;gap:38px}.offer-private{width:min(860px,100%);margin-inline:auto}.offer-business{width:100%}.offer-business h3 br{display:none}} @media(max-width:700px){.offer-group-heading{margin-bottom:25px}.offer-group-heading h3{font-size:clamp(28px,5.7vw,38px);max-width:500px;margin-inline:auto}.offer-group-heading .offer-overline{margin-bottom:18px}.offer-heading-sprig{width:55%;margin-top:14px}.offer-orbits{display:flex;flex-direction:column;align-items:center;gap:33px;width:100%;aspect-ratio:auto;margin:22px 0 21px;padding-bottom:47px}.offer-orbit{position:relative;inset:auto;width:min(350px,100%)}.offer-orbit-order{order:3}.offer-orbit-home{order:2}.offer-orbit-special{order:1}.offer-orbit-connectors{display:none}.offer-motion-toggle{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}.offer-orbit-sprig{width:37%;left:0}.offer-orbit-home .offer-orbit-sprig{right:0}.offer-orbit-title{font-size:25px}} @media(max-width:700px){.offer-orbit-order .offer-orbit-sprig-right{right:0}} .portfolio { --gallery-paper: #fcfaf6; --gallery-ink: #373523; --gallery-muted: #626252; --gallery-olive: #53632e; --gallery-line: #ddd6c4; --gallery-selected: #dedfc7; color: var(--gallery-ink); background: radial-gradient(ellipse at 2% 46%,#f8f3eac4,transparent 65%),var(--gallery-paper); padding-top: clamp(64px,7vw,108px); font: 18px/1.55 var(--serif); } .portfolio-wrap { width: min(1280px,calc(100% - 80px)); margin-inline: auto; } .portfolio-heading { display: grid; grid-template-columns: 1.7fr 1fr; gap: 3.5%; align-items: end; margin-bottom: 45px; } .portfolio-eyebrow { margin: 0 0 22px; font: 600 11px/1.6 var(--sans); letter-spacing: .18em; text-transform: uppercase; } .portfolio-heading .portfolio-eyebrow { display: flex; align-items: center; gap: 18px; max-width: 470px; } .portfolio-heading .portfolio-eyebrow::after { content: ''; height: 1px; flex: 1; background: var(--gallery-line); } .portfolio h2 { margin: 0; font: 400 clamp(34px,3.5vw,53px)/1.13 var(--serif); letter-spacing: -.04em; text-wrap: balance; } .portfolio h2 > span { position: relative; display: inline-block; } .portfolio h2 svg { position: absolute; width: 100%; height: 16px; bottom: -16px; left: 0; fill: none; stroke: var(--gallery-olive); stroke-width: 2.3; stroke-linecap: round; } .portfolio-heading > p { border-left: 1px solid var(--gallery-line); padding-left: 30px; margin: 0 0 4px; max-width: 390px; font-size: 18px; line-height: 1.45; } .portfolio-controls { margin-bottom: 35px; } .portfolio-filters { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 25px; } .portfolio-filters button { position: relative; min-height: 46px; border: 1px solid transparent; border-radius: 28px; padding: 8px 27px; color: var(--gallery-ink); background: transparent; font: 18px/1.4 var(--serif); transition: background .2s,border-color .2s; } .portfolio-filters button + button::before { content: ''; position: absolute; height: 26px; width: 1px; background: var(--gallery-line); top: 9px; left: -13px; } .portfolio-filters button[aria-pressed="true"] { background: var(--gallery-selected); } .portfolio-filters button:hover { border-color: var(--gallery-line); } .portfolio-refine { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 16px; font: 13px/1.5 var(--sans); color: var(--gallery-muted); } .portfolio-refine label { color: var(--gallery-ink); } .portfolio-refine select { width: min(280px,100%); min-height: 44px; padding: 8px 34px 8px 13px; border: 1px solid var(--gallery-line); border-radius: 6px; background: var(--gallery-paper); color: var(--gallery-ink); font: 14px/1.5 var(--sans); cursor: pointer; } .portfolio-refine p { margin: 0; min-width: 80px; } .portfolio :is(a,button,input,select):focus-visible { outline: 2px solid var(--gallery-olive); outline-offset: 4px; } .portfolio-feature { display: grid; grid-template-columns: 1.25fr .85fr; gap: 4%; align-items: center; margin-bottom: 24px; } .portfolio-cover { position: relative; display: block; min-width: 0; overflow: hidden; height: clamp(350px,34vw,480px); border-radius: 18px; background: var(--gallery-selected); } .portfolio-cover > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; transition: transform .5s ease; } .portfolio-cover:hover > img { transform: scale(1.025); } .portfolio-cover-label { position: absolute; left: 20px; bottom: 20px; padding: 8px 14px; border-radius: 24px; background: var(--gallery-paper); color: var(--gallery-ink); font: 12px/1.5 var(--sans); } .portfolio-story { padding: 12px 0; } .portfolio-story .portfolio-eyebrow { margin-bottom: 18px; color: var(--gallery-ink); } .portfolio-story h3 { margin: 0 0 20px; font: 400 clamp(29px,2.75vw,40px)/1.1 var(--serif); letter-spacing: -.025em; text-wrap: balance; } .portfolio-story > p:not(.portfolio-eyebrow,.portfolio-note,.portfolio-scope) { margin: 0 0 22px; font: 20px/1.45 var(--serif); } .portfolio-scope { margin: 0 0 13px; padding: 19px 0 0; border-top: 1px solid var(--gallery-line); font-size: 16px; line-height: 1.5; } .portfolio-scope > span { font-weight: bold; } .portfolio-link { display: inline-flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 24px; margin-top: 6px; padding: 6px 0; border-bottom: 1px solid var(--gallery-olive); color: var(--gallery-ink); font: 20px/1.4 var(--serif); text-decoration: none; } .portfolio-link > span { font-size: 27px; color: var(--gallery-olive); transition: transform .2s; } .portfolio-link:hover > span { transform: translateX(5px); } .portfolio-story .portfolio-note { margin: 16px 0 0; max-width: 440px; color: var(--gallery-muted); font: 12px/1.65 var(--sans); } .portfolio-details { margin-bottom: 26px; } .portfolio-after-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; overflow: hidden; border-radius: 16px; } .portfolio-after-grid a { position: relative; display: block; height: clamp(215px,23vw,310px); overflow: hidden; background: var(--gallery-selected); } .portfolio-after-grid img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; transition: transform .4s; } .portfolio-after-grid a:hover img { transform: scale(1.025); } .portfolio-after-grid a > span { position: absolute; left: 16px; top: 16px; max-width: calc(100% - 32px); padding: 6px 13px; border-radius: 20px; background: var(--gallery-paper); font: 13px/1.5 var(--sans); } .portfolio-after-grid.is-single { grid-template-columns: 1fr; } .portfolio-after-grid.is-single a { height: 270px; } .portfolio-comparison { margin: 0; } .portfolio-compare-stage { --split: 50%; position: relative; height: clamp(260px,28vw,365px); overflow: hidden; border-radius: 16px; background: var(--gallery-selected); } .portfolio-compare-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 47%; } .portfolio-compare-before, .portfolio-compare-after { position: absolute; inset: 0; } .portfolio-compare-before { clip-path: inset(0 calc(100% - var(--split)) 0 0); } .portfolio-compare-stage .compare-caption { position: absolute; z-index: 2; top: 16px; padding: 6px 22px; border-radius: 24px; background: var(--gallery-paper); font-size: 17px; pointer-events: none; } .compare-caption.is-before { left: 20px; } .compare-caption.is-after { right: 20px; } .portfolio-compare-line { position: absolute; top: 0; bottom: 0; left: var(--split); width: 2px; background: var(--gallery-paper); transform: translateX(-1px); pointer-events: none; } .portfolio-compare-line > span { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-content: center; width: 48px; height: 48px; border: 1px solid var(--gallery-line); border-radius: 50%; background: var(--gallery-paper); font: 25px/1 var(--sans); box-shadow: 0 1px 12px #37352315; } .portfolio-compare-stage input { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; padding: 0; margin: 0; opacity: .001; cursor: ew-resize; touch-action: pan-y; } .portfolio-compare-stage:focus-within { outline: 2px solid var(--gallery-olive); outline-offset: 4px; } .portfolio-comparison figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; color: var(--gallery-muted); font: 12px/1.5 var(--sans); } .portfolio-compare-options { display: flex; flex-shrink: 0; gap: 8px; } .portfolio-compare-options button { min-height: 44px; padding: 7px 15px; border: 1px solid var(--gallery-line); border-radius: 24px; color: var(--gallery-ink); background: transparent; font: 13px/1.3 var(--sans); } .portfolio-compare-options button[aria-pressed="true"] { background: var(--gallery-selected); } .portfolio-grid { display: grid; grid-template-columns: 1.25fr .88fr .88fr; gap: 26px; } .album-card { min-width: 0; } .album-card-image { position: relative; display: block; height: 260px; overflow: hidden; border-radius: 14px; background: var(--gallery-selected); text-decoration: none; } .album-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform .5s ease; } .album-card-image:hover img { transform: scale(1.04); } .album-photo-count { position: absolute; top: 14px; right: 14px; border-radius: 20px; padding: 5px 10px; color: var(--gallery-ink); background: var(--gallery-paper); font: 12px/1.5 var(--sans); } .album-card h3 { margin: 13px 0 9px; font: 400 25px/1.18 var(--serif); letter-spacing: -.025em; } .album-card h3 > a { display: flex; justify-content: space-between; gap: 12px; min-height: 44px; align-items: start; text-decoration: none; } .album-card h3 span { padding-top: 1px; color: var(--gallery-olive); } .album-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; } .album-card > p { margin: 0; font: 12px/1.6 var(--sans); letter-spacing: .12em; text-transform: uppercase; } .portfolio-more { text-align: center; margin-top: 32px; } .portfolio-more button { display: inline-flex; align-items: center; gap: 30px; min-height: 46px; padding: 10px 22px; border: 1px solid var(--gallery-line); border-radius: 26px; color: var(--gallery-ink); background: transparent; font: 15px/1.5 var(--sans); transition: background .2s; } .portfolio-more button:hover { background: var(--gallery-selected); } .portfolio-contact { margin-top: clamp(42px,5vw,74px); padding: 46px 0; background: linear-gradient(90deg,#f1eedfff 0%,#f1eedff5 51%,#f1eedf00 85%), url('assets/responsive/help-folding-720.webp') right 50% / auto 180% no-repeat,#f1eedf; } .portfolio-contact-layout { display: grid; justify-items: center; gap: 24px; text-align: center; } .portfolio-contact h3 { align-self: center; margin: 0; color: var(--gallery-olive); font: italic 36px/1.2 var(--serif); letter-spacing: -.02em; } .portfolio-contact-layout > div { max-width: 620px; } .portfolio-contact p { margin: 0 0 15px; font: 15px/1.55 var(--sans); } .portfolio-contact a { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 46px; padding: 10px 22px; border-radius: 28px; background: var(--gallery-olive); color: var(--gallery-paper); font: 15px/1.4 var(--sans); text-decoration: none; } .portfolio-nojs { font: 14px/1.6 var(--sans); } .portfolio-changing { animation: portfolio-in .28s ease-out; } @keyframes portfolio-in { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: none; } } .album-dialog { width: min(1180px,calc(100% - 40px)); border-radius: 16px; background: #fcfaf6; color: #373523; } .album-dialog .project-dialog-header { padding: 10px 20px; background: #fcfaf6; border-color: #ddd6c4; } .album-dialog .project-dialog-header > p { margin: 0; font: 12px/1.5 var(--sans); color: #626252; } .album-viewer { display: grid; grid-template-columns: 1.4fr 1fr; } .album-stage { position: relative; display: grid; place-items: center; height: min(66dvh,640px); min-height: 260px; padding: 14px; background: #eeeade; } .album-stage img { display: block; max-width: 100%; width: 100%; height: 100%; min-height: 0; object-fit: contain; } .album-copy { padding: 30px; } .album-copy .portfolio-eyebrow { color: #53632e; margin-bottom: 14px; } .album-copy h2 { margin: 0 0 18px; font: 400 34px/1.12 var(--serif); letter-spacing: -.025em; } .album-copy > p:not(.portfolio-eyebrow) { margin: 0 0 18px; font: 15px/1.7 var(--sans); } .album-copy .album-source { color: #626252; font-size: 12px!important; } .album-copy .album-warning { border-left: 2px solid #bac09d; padding-left: 13px; color: #626252; font-size: 13px!important; } .album-copy .portfolio-link { font-size: 17px; } .album-navigation { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 10px 16px; background: #eeeade; } .album-navigation button { display: grid; place-content: center; width: 44px; height: 44px; border: 1px solid #b8bba5; border-radius: 50%; background: #fcfaf6; color: #373523; font: 24px/1 var(--sans); } .album-navigation button:disabled { opacity: .35; cursor: default; } .album-navigation output { min-width: 70px; text-align: center; font: 13px/1.4 var(--sans); } .album-caption { margin: 0; padding: 14px 20px 8px; font: 14px/1.6 var(--sans); } .album-thumbnails { display: flex; gap: 10px; padding: 10px 20px 20px; overflow-x: auto; overscroll-behavior-x: contain; } .album-thumbnails button { position: relative; flex: 0 0 72px; height: 72px; padding: 3px; border: 2px solid transparent; border-radius: 8px; background: #eeeade; } .album-thumbnails button[aria-pressed="true"] { border-color: #53632e; } .album-thumbnails img { display: block; width: 100%; height: 100%; object-fit: contain; } .album-thumbnails button span { position: absolute; right: 2px; bottom: 2px; padding: 0 4px; color: #373523; background: #fcfaf6; font: 11px/1.5 var(--sans); } .album-dialog :is(a,button):focus-visible { outline: 2px solid #53632e; outline-offset: 3px; } @media (max-width:1050px) { .portfolio-wrap { width: calc(100% - 56px); } .portfolio-heading { grid-template-columns: 1.5fr 1fr; } .portfolio-heading > p { padding-left: 22px; font-size: 16px; } .portfolio-filters { gap: 8px 16px; } .portfolio-filters button { padding-inline: 23px; } .portfolio-filters button + button::before { left: -9px; } .portfolio-cover { height: 420px; } .portfolio-story > p:not(.portfolio-eyebrow,.portfolio-note,.portfolio-scope) { font-size: 18px; } .portfolio-scope { font-size: 15px; } .portfolio-grid { gap: 20px; grid-template-columns: 1fr 1fr 1fr; } .album-card-image { height: 220px; } .album-card h3 { font-size: 23px; } .album-viewer { grid-template-columns: 1.1fr 1fr; } .album-copy { padding: 25px; } } @media (max-width:760px) { .portfolio-wrap { width: calc(100% - 40px); } .portfolio-heading { display: block; margin-bottom: 28px; } .portfolio-heading > p { margin-top: 32px; padding-left: 18px; max-width: 510px; } .portfolio-eyebrow { margin-bottom: 18px; } .portfolio-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 20px; } .portfolio-filters button { padding: 9px 12px; font-size: 17px; border-color: var(--gallery-line); } .portfolio-filters button + button::before { display: none; } .portfolio-refine { display: grid; grid-template-columns: auto 1fr; gap: 8px 12px; } .portfolio-refine select { width: 100%; min-width: 0; } .portfolio-refine p { grid-column: 2; } .portfolio-controls { margin-bottom: 22px; } .portfolio-feature { display: flex; flex-direction: column; align-items: stretch; gap: 22px; } .portfolio-cover { height: auto; aspect-ratio: 1.22; border-radius: 14px; } .portfolio-cover-label { left: 14px; bottom: 14px; font-size: 11px; } .portfolio-story { padding: 0; } .portfolio-story .portfolio-eyebrow { margin-bottom: 12px; } .portfolio-story h3 { font-size: 31px; margin-bottom: 15px; max-width: 560px; } .portfolio-story > p:not(.portfolio-eyebrow,.portfolio-note,.portfolio-scope) { font-size: 18px; margin-bottom: 17px; } .portfolio-scope { padding-top: 15px; } .portfolio-link { font-size: 19px; } .portfolio-after-grid a { height: 210px; } .portfolio-after-grid a > span { font-size: 11px; left: 8px; top: 8px; max-width: calc(100% - 16px); padding: 5px 9px; } .portfolio-compare-stage { height: 290px; border-radius: 14px; } .portfolio-compare-stage .compare-caption { top: 12px; padding: 5px 17px; font-size: 16px; } .compare-caption.is-before { left: 12px; } .compare-caption.is-after { right: 12px; } .portfolio-comparison figcaption { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 12px; } .portfolio-compare-options { align-self: flex-start; } .portfolio-grid { grid-template-columns: 1fr; gap: 29px; } .album-card-image { height: auto; aspect-ratio: 1.48; border-radius: 13px; } .album-card h3 { font-size: 25px; margin-block: 12px 5px; } .album-card h3 a { align-items: center; } .album-card > p { font-size: 12px; letter-spacing: .1em; } .portfolio-contact { padding: 32px 0; background: linear-gradient(90deg,#f1eedff7,#f1eedff2 70%,#f1eedfc7),url('assets/responsive/help-folding-720.webp') right center / auto 115% no-repeat,#f1eedf; } .portfolio-contact-layout { display: grid; gap: 20px; } .portfolio-contact h3 { font-size: 31px; margin-bottom: 0; } .portfolio-contact-layout > div { padding: 0; } .portfolio-contact p { font-size: 14px; } .album-dialog { width: calc(100% - 20px); border-radius: 12px; } .album-viewer { display: block; } .album-stage { height: min(53dvh,490px); min-height: 220px; padding: 8px; } .album-copy { padding: 23px 20px 15px; } .album-copy h2 { font-size: 29px; } .album-copy .portfolio-eyebrow { font-size: 10px; } .album-caption { padding-inline: 16px; } .album-thumbnails { padding-inline: 16px; } } @media (prefers-reduced-motion:reduce) { .portfolio-changing { animation: none; } .portfolio *, .album-dialog * { transition: none!important; } } .portfolio-controls{flex-wrap:wrap;gap:22px;margin-bottom:30px}.portfolio-refine{display:grid;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:8px 24px;width:min(100%,600px);padding:19px 24px;border:1px solid #a9b48f;border-left:5px solid #60743a;border-radius:7px;background:#f1f2e9}.portfolio-refine label{grid-column:1/-1;color:#3c4c2b;font:600 16px/1.5 var(--sans);letter-spacing:0;text-transform:none}.portfolio-refine select{width:100%;max-width:100%;min-height:50px;padding:10px 32px 10px 13px;border:1px solid #9ba982;border-radius:4px;background:#fcfbf8;color:#343b2e;font:18px/1.5 var(--sans)}.portfolio-refine p{margin:0;max-width:190px;color:#52643b;font:600 15px/1.5 var(--sans)}.portfolio-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 28px}.portfolio-topic-card{display:block;min-width:0;color:#343b2e;text-decoration:none}.portfolio-topic-card>img{display:block;width:100%;height:260px;object-fit:cover;border-radius:10px}.portfolio-topic-copy{display:block;padding:17px 0 14px;border-bottom:1px solid #cbd0bd}.portfolio-topic-copy>strong{display:block;margin-bottom:8px;font:400 27px/1.2 var(--serif);letter-spacing:-.02em}.portfolio-topic-copy>span{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#52643b;font:14px/1.5 var(--sans)}.portfolio-topic-copy>span>span{font-size:24px}.portfolio-topic-card:hover strong{text-decoration:underline;text-underline-offset:5px}.portfolio-back-topics{display:flex;align-items:center;min-height:44px;margin:0 0 20px;padding:6px 0;border:0;background:transparent;color:#52643b;font:600 15px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}#gallery-selection,.portfolio-controls{scroll-margin-top:145px}.portfolio-write{display:inline-flex!important;align-items:center;min-height:44px;margin:6px 0!important;color:#52643b;font:600 15px/1.5 var(--sans)!important;text-underline-offset:5px} @media(max-width:1100px){.portfolio-refine{width:100%}.portfolio-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-topic-card>img{height:260px}} @media(max-width:650px){.portfolio-refine{grid-template-columns:1fr;padding:17px 18px;gap:8px}.portfolio-refine p{max-width:none;font-size:14px}.portfolio-refine select{font-size:16px}.portfolio-topic-grid{gap:28px 20px;grid-template-columns:1fr}.portfolio-topic-card>img{height:260px}.portfolio-topic-copy>strong{font-size:27px}.portfolio-topic-copy>span{font-size:14px}#gallery-selection,.portfolio-controls{scroll-margin-top:105px}} .portfolio-refine{width:100%;max-width:none;grid-template-columns:auto minmax(260px,1fr) auto;gap:22px 28px;padding:22px 26px}.portfolio-refine label{grid-column:auto;font:400 27px/1.2 var(--serif)}.portfolio-refine p{max-width:none;font-size:17px}.portfolio-refine select{min-height:52px} @media(max-width:1000px){.portfolio-refine{grid-template-columns:1fr;gap:12px;padding:20px}.portfolio-refine label{font-size:25px}.portfolio-refine p{font-size:16px}} .reach-section { --reach-paper: #fcfbf8; --reach-sage: #edf0e7; --reach-ink: #343b2e; --reach-muted: #626759; --reach-line: #d8dccd; --reach-primary: #52643b; --reach-extended: #426675; --reach-request: #93602e; padding: clamp(72px,8vw,120px) 0; color: var(--reach-ink); font: 16px/1.65 var(--sans); } .reach-wrap { width: min(1800px,calc(100% - 96px)); margin-inline: auto; } .reach-heading { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); align-items: end; gap: 7%; margin-bottom: 32px; } .reach-eyebrow { margin: 0 0 18px; color: var(--reach-primary); font: 600 11px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; } .reach-heading .reach-eyebrow { display: flex; gap: 18px; align-items: center; max-width: 540px; } .reach-heading .reach-eyebrow::after { content: ''; height: 1px; flex: 1; background: var(--reach-line); } .reach-heading h2 { margin: 0; font: 400 clamp(38px,3.9vw,72px)/1.1 var(--serif); letter-spacing: -.035em; } .reach-heading > p { margin: 0 0 3px; padding-left: 30px; border-left: 1px solid var(--reach-line); color: var(--reach-muted); font-size: clamp(16px,1.05vw,20px); line-height: 1.7; } .reach-explorer { display: grid; grid-template-columns: clamp(190px,13vw,236px) minmax(0,1fr); grid-template-areas: 'filters atlas' 'note atlas'; grid-template-rows: max-content 1fr; gap: 0 24px; align-items: start; } .reach-section:not(.reach-enhanced) .reach-explorer { display: block; } .reach-map-rail { grid-area: filters; padding: 0; } .reach-map-rail > button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 54px; padding: 12px 14px; border: 1px solid #c8cebb; border-radius: 7px; background: var(--reach-paper); color: var(--reach-ink); font: 16px/1.4 var(--sans); } .reach-map-rail > button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; } .reach-filters { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--reach-line); } .reach-filters > button { --filter-color: var(--reach-primary); display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 94px; padding: 13px 11px; border: 1px solid transparent; border-left: 3px solid transparent; border-radius: 0 7px 7px 0; background: var(--reach-paper); color: var(--reach-ink); text-align: left; transition: border-color .18s,background .18s; } .reach-filters > button[aria-pressed="true"] { border-color: var(--reach-line); border-left-color: var(--filter-color); background: var(--reach-sage); } .reach-filters > button[data-reach-filter="extended"] { --filter-color: var(--reach-extended); } .reach-filters > button[data-reach-filter="request"] { --filter-color: var(--reach-request); } .reach-filters > button[data-reach-filter="extended"][aria-pressed="true"] { background: #eaf0f1; } .reach-filters > button[data-reach-filter="request"][aria-pressed="true"] { background: #f5eee5; } .reach-filters > button:hover { border-left-color: var(--filter-color); } .reach-filters strong { display: block; font: 400 clamp(20px,1.2vw,23px)/1.15 var(--serif); } .reach-filters small { display: block; margin-top: 6px; color: var(--reach-muted); font: 12px/1.5 var(--sans); } .reach-filter-count { margin-left: auto; color: var(--reach-muted); font: 12px/1 var(--sans); } .reach-symbol { display: inline-block; width: 11px; height: 11px; flex-shrink: 0; border-radius: 50%; background: var(--reach-primary); } .reach-symbol[data-category="extended"] { border-radius: 2px; background: var(--reach-extended); } .reach-symbol[data-category="request"] { width: 10px; height: 10px; margin-inline: 1px; border-radius: 1px; transform: rotate(45deg); background: var(--reach-request); } .reach-atlas { grid-area: atlas; align-self: stretch; display: grid; grid-template-columns: minmax(0,2.2fr) minmax(310px,1fr); overflow: clip; border: 1px solid var(--reach-line); border-radius: 18px; background: var(--reach-paper); } .reach-map-column { display: flex; min-width: 0; flex-direction: column; background: #f0f1e9; } .reach-map-stage { position: relative; flex: 1; min-height: clamp(640px,39.6vw,760px); isolation: isolate; } .reach-map { position: absolute; inset: 0; width: 100%; height: 100%; } .reach-map .maplibregl-canvas { outline-offset: -4px; } .reach-map .maplibregl-canvas:focus-visible { outline: 3px solid var(--reach-primary); } .reach-map .maplibregl-canvas-container:not(.is-interactive), .reach-map .maplibregl-canvas-container:not(.is-interactive) .maplibregl-canvas { touch-action: pan-y; } .reach-map-tools { position: absolute; z-index: 2; top: 18px; left: 18px; display: flex; flex-wrap: wrap; gap: 8px; pointer-events: none; max-width: calc(100% - 88px); } .reach-map-tools button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 8px 13px; border: 1px solid #c8cebb; border-radius: 7px; background: var(--reach-paper); color: var(--reach-ink); font: 13px/1.4 var(--sans); box-shadow: 0 2px 10px #343b2e0b; pointer-events: auto; } .reach-map-tools svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; } #reach-show-all[aria-pressed="true"] { border-color: var(--reach-primary); background: var(--reach-sage); } #reach-touch[aria-pressed="true"] { color: var(--reach-paper); background: var(--reach-primary); border-color: var(--reach-primary); } .reach-map-hint { position: absolute; z-index: 1; left: 18px; bottom: 16px; max-width: calc(100% - 80px); margin: 0; padding: 6px 10px; border-radius: 5px; background: var(--reach-paper); color: var(--reach-muted); font: 12px/1.5 var(--sans); pointer-events: none; } .reach-hover { position: absolute; z-index: 5; display: flex; align-items: center; gap: 11px; width: max-content; max-width: calc(100% - 24px); padding: 12px 16px; border: 1px solid var(--reach-line); border-radius: 8px; background: var(--reach-paper); box-shadow: 0 4px 18px #343b2e17; pointer-events: none; } .reach-hover strong { display: block; font: 400 23px/1.2 var(--serif); } .reach-hover small { display: block; margin-top: 4px; color: var(--reach-muted); font: 12px/1.4 var(--sans); } .reach-loading { position: absolute; z-index: 3; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 30px; background: #f0f1e9; text-align: center; } .reach-loading > svg { width: 45px; height: 45px; margin-bottom: 10px; fill: none; stroke: #7d8d66; stroke-width: 1.35; } .reach-loading p { max-width: 320px; margin: 8px 0; color: var(--reach-muted); font: 14px/1.7 var(--sans); } .reach-loading button { min-height: 44px; margin-top: 12px; padding: 9px 18px; border: 1px solid var(--reach-line); border-radius: 6px; background: var(--reach-paper); color: var(--reach-primary); font: 14px/1.4 var(--sans); } .reach-section:not(.reach-enhanced) #reach-map-status { display: none; } .reach-map-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 3px 16px; padding: 11px 16px; border-top: 1px solid var(--reach-line); color: var(--reach-muted); background: var(--reach-paper); font: 12px/1.6 var(--sans); } .reach-attribution { font-size: 12px; } .reach-attribution a { text-decoration: underline; text-decoration-color: #b2baa3; text-underline-offset: 2px; } .reach-sidebar { min-width: 0; padding: clamp(25px,1.65vw,32px); border-left: 1px solid var(--reach-line); } .reach-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; } .reach-list-heading .reach-eyebrow { margin-bottom: 9px; font-size: 10px; letter-spacing: .12em; } .reach-list-heading h3 { margin: 0; font: 400 clamp(27px,1.85vw,36px)/1.15 var(--serif); letter-spacing: -.025em; } #reach-list-count { color: #7b8769; font: 400 clamp(33px,2vw,40px)/1 var(--serif); } .reach-place-group h4 { margin: 20px 0 10px; color: var(--reach-primary); font: 600 13px/1.5 var(--sans); } #reach-place-list { max-height: 280px; overflow-y: auto; padding: 3px; margin: -3px; scrollbar-width: thin; scrollbar-color: #b7c1a5 transparent; } .reach-enhanced:not([data-reach-category="all"]) .reach-place-group h4 { display: none; } .reach-places { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; } .reach-place { display: flex; align-items: center; justify-content: space-between; gap: 7px; min-width: 0; min-height: 54px; padding: 10px 11px; border: 1px solid #e1e4d8; border-radius: 6px; color: var(--reach-ink); background: transparent; font: 14px/1.45 var(--sans); text-decoration: none; transition: background .18s,border-color .18s; } .reach-place > span:first-child { min-width: 0; } .reach-place > span:last-child { color: #7b8769; font-size: 17px; } .reach-place small { display: block; color: var(--reach-muted); font-size: 11px; line-height: 1.2; } .reach-place[aria-current="location"] { border-color: var(--reach-primary); background: var(--reach-sage); } .reach-place:hover { border-color: var(--reach-primary); background: var(--reach-sage); } .reach-place.is-map-hovered { border-color: var(--reach-primary); background: var(--reach-sage); } .reach-place-group[data-place-group="extended"] .reach-place:is(:hover,.is-map-hovered,[aria-current]) { border-color: var(--reach-extended); background: #eaf0f1; } .reach-place-group[data-place-group="request"] .reach-place:is(:hover,.is-map-hovered,[aria-current]) { border-color: var(--reach-request); background: #f5eee5; } .reach-detail { margin-top: 25px; padding-top: 23px; border-top: 1px solid var(--reach-line); } .reach-detail-label { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--reach-primary); font: 600 11px/1.5 var(--sans); } .reach-detail[data-category="extended"] .reach-detail-label { color: var(--reach-extended); } .reach-detail[data-category="request"] .reach-detail-label { color: var(--reach-request); } .reach-detail h3 { margin: 0 0 14px; font: 400 clamp(31px,2vw,39px)/1.12 var(--serif); letter-spacing: -.025em; } .reach-detail > p:not(.reach-detail-label) { margin: 0 0 18px; color: var(--reach-muted); font: 16px/1.7 var(--sans); } .reach-detail > p.reach-boundary-note { margin-top: -5px; font-size: 12px; } .reach-call { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 17px; border: 1px solid var(--reach-primary); border-radius: 25px; background: var(--reach-primary); color: var(--reach-paper); font: 14px/1.4 var(--sans); text-decoration: none; } .reach-call:hover { background: #435330; } .reach-back-map { min-height: 44px; margin-top: 7px; padding: 8px 0; border: 0; background: none; color: var(--reach-primary); font: 13px/1.5 var(--sans); text-decoration: underline; text-underline-offset: 4px; } .reach-bottom-note { grid-area: note; align-self: end; padding: 20px 0 0; text-align: center; } .reach-bottom-note p { margin: 0; font: 400 clamp(20px,1.2vw,23px)/1.35 var(--serif); } .reach-bottom-note p > span { display: block; margin-top: 8px; color: var(--reach-muted); font: 14px/1.6 var(--sans); text-wrap: pretty; } .reach-bottom-note > a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 8px; padding: 6px 0; color: var(--reach-primary); font: 400 clamp(23px,1.65vw,32px)/1.3 var(--serif); text-decoration: none; white-space: nowrap; } .reach-bottom-note > a:hover { text-decoration: underline; text-underline-offset: 6px; } .reach-bottom-note svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; } .reach-section :is(a,button):focus-visible { outline: 2px solid var(--reach-primary); outline-offset: 3px; } .reach-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } .reach-marker { width: 44px; height: 44px; } .reach-pin { display: grid; place-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; } .reach-pin-shape { display: block; width: 16px; height: 16px; border: 3px solid var(--reach-paper); border-radius: 50%; background: var(--reach-primary); box-shadow: 0 1px 5px #28391b40; transition: transform .18s; } .reach-marker[data-category="extended"] .reach-pin-shape { border-radius: 4px; background: var(--reach-extended); } .reach-marker[data-category="request"] .reach-pin-shape { border-radius: 3px; transform: rotate(45deg); background: var(--reach-request); } .reach-pin:hover .reach-pin-shape { scale: 1.18; } .reach-pin[aria-pressed="true"] { outline: 2px solid var(--reach-primary); outline-offset: 2px; background: var(--reach-paper); } .reach-marker-label { position: absolute; left: 50%; bottom: calc(100% + 4px); width: max-content; max-width: 200px; padding: 5px 9px; border: 1px solid var(--reach-line); border-radius: 5px; background: var(--reach-paper); color: var(--reach-ink); transform: translateX(-50%); font: 600 12px/1.4 var(--sans); pointer-events: none; } .reach-map .maplibregl-ctrl-top-right { top: 17px; right: 17px; } .reach-map .maplibregl-ctrl-top-right .maplibregl-ctrl { margin: 0; border: 1px solid #c8cebb; border-radius: 7px; overflow: hidden; box-shadow: 0 2px 10px #343b2e0b; } .reach-map .maplibregl-ctrl-group button { width: 44px; height: 44px; background-color: var(--reach-paper); } .reach-map .maplibregl-ctrl-group button:focus-visible { outline-offset: -4px; } .reach-map .maplibregl-popup { z-index: 4; } .reach-map .maplibregl-popup-content { min-width: 210px; padding: 19px 44px 17px 18px; border: 1px solid var(--reach-line); border-radius: 10px; background: var(--reach-paper); box-shadow: 0 6px 24px #343b2e20; font-family: var(--sans); } .reach-map .maplibregl-popup-close-button { width: 44px; height: 44px; padding: 0; color: var(--reach-muted); font: 25px/1 var(--sans); border-radius: 0 10px 0 0; } .reach-popup h3 { margin: 0 0 7px; color: var(--reach-ink); font: 400 25px/1.1 var(--serif); } .reach-popup p { margin: 0; color: var(--reach-muted); font: 12px/1.5 var(--sans); } .reach-map .maplibregl-popup-anchor-bottom .maplibregl-popup-tip { border-top-color: var(--reach-paper); } .reach-map .maplibregl-popup-anchor-top .maplibregl-popup-tip { border-bottom-color: var(--reach-paper); } .reach-map .maplibregl-popup-anchor-left .maplibregl-popup-tip { border-right-color: var(--reach-paper); } .reach-map .maplibregl-popup-anchor-right .maplibregl-popup-tip { border-left-color: var(--reach-paper); } @media (max-width:1400px) { .reach-heading { grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 5%; } .reach-filters > button { gap: 10px; padding-inline: 10px; } .reach-filters strong { font-size: 20px; } .reach-filters small { font-size: 12px; } .reach-sidebar { padding-inline: 23px; } .reach-detail > p:not(.reach-detail-label) { font-size: 15px; } } @media (max-width:1100px) { .reach-wrap { width: calc(100% - 56px); } .reach-explorer { grid-template-columns: 1fr; grid-template-areas: 'filters' 'atlas' 'note'; grid-template-rows: auto; } .reach-map-rail { padding: 0; margin-bottom: 18px; } .reach-map-rail > button { width: auto; min-height: 48px; padding-inline: 20px; } .reach-filters { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 12px; padding-top: 0; border-top: 0; } .reach-filters > button { min-height: 89px; border: 1px solid var(--reach-line); border-bottom: 3px solid transparent; border-radius: 7px; } .reach-filters > button[aria-pressed="true"], .reach-filters > button:hover { border-left-color: var(--reach-line); border-bottom-color: var(--filter-color); } .reach-filters strong { font-size: 22px; } .reach-atlas { grid-template-columns: minmax(0,1.6fr) minmax(310px,1fr); } .reach-map-stage { min-height: 640px; } .reach-bottom-note { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding-top: 24px; text-align: left; } .reach-bottom-note p { font-size: 24px; } .reach-bottom-note p > span { margin-top: 5px; font-size: 15px; } .reach-bottom-note > a { margin-top: 0; font-size: 29px; } } @media (max-width:800px) { .reach-wrap { width: calc(100% - 40px); } .reach-heading { display: block; margin-bottom: 26px; } .reach-heading > p { margin-top: 22px; padding-left: 17px; max-width: 560px; font-size: 15px; } .reach-explorer { display: grid; } .reach-map-rail { padding: 0; margin-bottom: 16px; } .reach-map-rail > button { width: auto; min-height: 44px; } .reach-filters { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; padding-top: 0; border-top: 0; } .reach-filters > button { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; min-height: 84px; padding: 10px 3px 14px; text-align: center; } .reach-filters > button { border: 1px solid var(--reach-line); border-bottom: 3px solid transparent; border-radius: 7px; } .reach-filters > button[aria-pressed="true"], .reach-filters > button:hover { border-left-color: var(--reach-line); border-bottom-color: var(--filter-color); } .reach-filters strong { font: 600 14px/1.35 var(--sans); text-wrap: balance; } .reach-filters small, .reach-filter-count { display: none; } .reach-atlas { grid-template-columns: 1fr; border-radius: 14px; } .reach-map-stage { min-height: 420px; height: 420px; flex: none; } .reach-map-tools { top: 12px; left: 12px; max-width: calc(100% - 79px); gap: 6px; } .reach-map-tools button { padding-inline: 10px; font-size: 12px; } .reach-map .maplibregl-ctrl-top-right { top: 12px; right: 12px; } .reach-map-hint { left: 12px; bottom: 12px; max-width: calc(100% - 24px); font-size: 11px; } .reach-map-caption { padding: 9px 12px; font-size: 12px; } .reach-sidebar { padding: 24px 20px; border-left: 0; border-top: 1px solid var(--reach-line); } #reach-place-list { max-height: 260px; overflow-y: auto; } .reach-list-heading h3 { font-size: 28px; } .reach-place { min-height: 48px; font-size: 14px; } .reach-place small { font-size: 12px; } .reach-detail { margin-top: 23px; padding-top: 22px; } .reach-detail > p:not(.reach-detail-label) { max-width: 530px; font-size: 15px; } .reach-call { max-width: 400px; } .reach-bottom-note { display: block; padding-top: 23px; text-align: center; } .reach-bottom-note > a { margin-top: 12px; font-size: 25px; } .reach-bottom-note p { font-size: 22px; } .reach-bottom-note p > span { font-size: 14px; } } @media (max-width:350px) { .reach-wrap { width: calc(100% - 32px); } .reach-filters strong { font-size: 13px; } .reach-sidebar { padding-inline: 16px; } .reach-list-heading { gap: 10px; } .reach-list-heading h3 { font-size: 26px; } } @media (prefers-reduced-motion:reduce) { .reach-section *, .reach-section *::before, .reach-section *::after { transition: none!important; animation: none!important; } } .reach-envelope-key{display:block;margin-top:12px;color:#426f91;font:13px/1.65 var(--sans)}.reach-envelope-key::before{content:'';display:inline-block;width:22px;height:12px;margin-right:8px;border:2px solid #3979ac;border-radius:50%;background:#3979ac10;vertical-align:middle}.reach-write{display:flex;align-items:center;min-height:44px;margin:8px 0 10px;color:var(--reach-primary);font:600 14px/1.6 var(--sans);text-underline-offset:4px}.reach-bottom-note>a.reach-note-write{display:flex;white-space:normal;min-height:44px;margin-top:4px;padding:6px 0;font:600 13px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px} .reach-marker-label{display:none}.reach-marker.is-selected .reach-marker-label,.reach-marker:hover .reach-marker-label,.reach-marker:focus-within .reach-marker-label{display:block} .reviews-section{--review-paper:#fcfbf8;--review-ink:#343b2e;--review-olive:#647c40;--review-rule:#d8dccd;border-block:1px solid var(--review-rule)} .reviews-layout{display:block}.reviews-header{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8%;margin-bottom:42px}.reviews-intro{min-width:0;text-align:center}.reviews-intro .kicker{text-align:left}.review-source{display:grid;justify-items:center;gap:17px;margin:24px 0 0;color:var(--muted);font:14px/1.5 var(--sans)}.review-source .stars{display:block;color:var(--review-olive);font:clamp(56px,6vw,90px)/1 var(--serif);letter-spacing:.035em;white-space:nowrap}.review-flower{display:block;justify-self:center;width:min(300px,100%);height:330px;margin:0;fill:none;stroke:#859a63;stroke-width:1.7} .review-carousel{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:18px 22px;align-items:center}.review-window{grid-column:2;min-width:0}.review-scene{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:26px 24px 25px;border:1px solid var(--review-rule);background:var(--review-paper);color:var(--review-ink)}.review-card .quote-symbol{display:block;height:38px;color:#7f945d;font:68px/1 var(--serif)}.review-card blockquote{flex:1;margin:15px 0 26px;font:400 19px/1.5 var(--serif);white-space:pre-line;overflow-wrap:anywhere}.review-card figcaption{display:flex;align-items:center;gap:12px}.review-avatar{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border-radius:50%;background:#e8eddf;color:#4e6336;font:11px var(--sans)}.review-card figcaption strong{display:block;font:600 12px/1.6 var(--sans)}.review-card figcaption div>span{color:var(--muted);font:11px/1.5 var(--sans)} .reviews-enhanced .review-window{overflow:hidden;touch-action:pan-y}.reviews-enhanced .review-scene{--review-columns:3;display:flex;gap:24px;transition:transform .5s cubic-bezier(.22,.7,.25,1);will-change:transform}.reviews-enhanced .review-card{flex:0 0 calc((100% - (var(--review-columns) - 1)*24px)/var(--review-columns))}.review-arrow{display:grid;place-items:center;width:52px;min-height:76px;padding:5px;border:0;border-radius:5px;background:transparent;color:var(--review-olive);cursor:pointer}.review-arrow svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.review-prev{grid-column:1;grid-row:1}.review-next{grid-column:3;grid-row:1}.review-next svg{transform:rotate(180deg)}.review-arrow:hover{background:#edf0e7}.review-controls{grid-column:2;display:flex;align-items:center;justify-content:center;gap:18px;min-height:44px}.review-controls button{min-height:44px;padding:8px 17px;border:1px solid #b8c0a8;border-radius:25px;background:var(--review-paper);color:#52643b;font:13px/1.4 var(--sans);cursor:pointer}.review-controls button:hover{background:#edf0e7}.review-controls output{min-width:83px;text-align:center;color:var(--muted);font:13px/1.5 var(--sans);font-variant-numeric:tabular-nums}.review-write{display:flex;justify-content:center;align-items:center;gap:20px;min-height:48px;margin:22px auto 0;color:#52643b;font:600 15px/1.5 var(--sans);text-underline-offset:5px;text-align:center}.reviews-section :is(a,button):focus-visible{outline:2px solid #52643b;outline-offset:4px}.review-controls button:disabled{cursor:default;opacity:.65} @media(max-width:1100px){.reviews-header{gap:5%}.review-scene{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-enhanced .review-scene{--review-columns:2}.review-card blockquote{font-size:19px}.review-flower{height:280px;width:230px}.review-carousel{gap:18px 12px}} @media(max-width:800px){.reviews-header{display:block;margin-bottom:24px}.review-flower{width:110px;height:138px;margin:22px auto 0}.review-source{margin-top:20px}.reviews-intro .section-title{font-size:clamp(34px,6.2vw,46px)}.review-source .stars{font-size:65px}} @media(max-width:700px){.review-scene{grid-template-columns:1fr}.reviews-enhanced .review-scene{--review-columns:1}.review-window{grid-column:1/-1;grid-row:1}.review-carousel{grid-template-columns:48px minmax(0,1fr) 48px;gap:15px 8px}.review-prev{grid-row:2}.review-next{grid-row:2}.review-controls{grid-row:2;gap:10px}.review-arrow{width:48px;min-height:48px}.review-arrow svg{width:34px;height:34px}.review-card{padding:24px}.review-card blockquote{font-size:20px;line-height:1.55}.review-write{font-size:14px}.review-source{font-size:12px}} @media(prefers-reduced-motion:reduce){.reviews-enhanced .review-scene{transition:none;will-change:auto}} .review-google-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:25px 0;border-block:1px solid var(--review-rule)}.review-google-invite h3{margin:0 0 8px;color:var(--review-ink);font:400 29px/1.2 var(--serif)}.review-google-invite p{max-width:650px;margin:0;color:var(--review-ink);font:15px/1.65 var(--sans)}.review-google-invite>a{display:inline-flex;align-items:center;justify-content:center;gap:22px;flex-shrink:0;min-height:49px;padding:12px 22px;border:1px solid var(--review-olive);border-radius:4px;background:var(--review-olive);color:var(--review-paper);font:600 15px/1.5 var(--sans);text-decoration:none}.review-google-invite>a:hover{background:var(--review-ink);border-color:var(--review-ink)} @media(max-width:800px){.review-google-invite{flex-direction:column;text-align:center;gap:19px}.review-google-invite h3{font-size:27px}.review-google-invite p{max-width:520px}.review-google-invite>a{max-width:100%;font-size:14px}} .album-zoom-open { display: grid; place-items: center; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; } .album-zoom-hint { position: absolute; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #d8dccd; border-radius: 24px; background: #fcfbf8; color: #343b2e; font: 12px/1.5 var(--sans); pointer-events: none; } .album-zoom-hint svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; } .photo-viewer { --photo-paper: #fcfbf8; --photo-dark: #181d17; position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: var(--photo-dark); color: var(--photo-paper); } .photo-viewer[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; } .photo-viewer::backdrop { background: var(--photo-dark); } .photo-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; padding: max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left)); } .photo-toolbar p { max-width: 900px; margin: 0; color: #d8ded1; font: 14px/1.5 var(--sans); } .photo-viewer button { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; gap: 9px; min-width: 46px; min-height: 46px; padding: 10px 15px; border: 1px solid #66705d; border-radius: 6px; background: #262e22; color: var(--photo-paper); font: 14px/1.4 var(--sans); } .photo-viewer button:hover { background: #394530; } .photo-viewer button:disabled { opacity: .35; cursor: default; } .photo-viewer button:focus-visible { outline: 2px solid var(--photo-paper); outline-offset: 3px; } .photo-viewer button > span[aria-hidden] { font-size: 25px; line-height: 1; } .photo-viewport { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; min-height: 0; margin-inline: max(16px,env(safe-area-inset-left)); touch-action: none; user-select: none; } .photo-viewport img { display: block; flex: none; max-width: none; max-height: none; object-fit: contain; transform-origin: center; will-change: transform; } .photo-viewer[data-zoomed="true"] .photo-viewport { cursor: grab; } .photo-viewer[data-zoomed="true"] .photo-viewport:active { cursor: grabbing; } .photo-controls { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 16px 20px max(16px,env(safe-area-inset-bottom)); } .photo-controls [data-photo-fit] { min-width: 154px; font-variant-numeric: tabular-nums; } .photo-controls :is([data-photo-prev],[data-photo-next]) { width: 46px; padding-inline: 0; font-size: 23px; } .photo-controls > p { flex-basis: 100%; margin: 0; color: #b6bfad; font: 12px/1.5 var(--sans); text-align: center; } @media (max-width:600px) { .photo-toolbar { gap: 12px; min-height: 68px; padding-inline: 14px; } .photo-toolbar p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 12px; } .photo-toolbar button { min-width: 46px; padding-inline: 11px; } .photo-toolbar button .photo-close-label { display: none; } .photo-viewport { margin-inline: 8px; } .photo-controls { gap: 8px; padding-inline: 12px; } .photo-controls button { padding-inline: 12px; font-size: 13px; } .photo-controls [data-photo-fit] { min-width: 133px; } .photo-controls { gap: 6px; } .photo-controls button { min-width: 44px; } .photo-controls [data-photo-fit] { min-width: 121px; padding-inline: 8px; } .photo-zoom-label { display: none; } .album-zoom-hint { right: 16px; bottom: 16px; } } .video-background { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; background: #fcfbf8; } .video-background video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; filter: none; mix-blend-mode: normal; } body.video-background-enabled { isolation: isolate; background: transparent; } body.video-background-enabled :is(.hero,.section,.portfolio,.paulina-section,.portfolio-contact) { background: none; } body.video-background-enabled .paulina-section { color: var(--text); } body.video-background-enabled .paulina-intro .kicker { color: #52643b; } body.video-background-enabled .paulina-intro h2 em { color: #53632e; } body.video-background-enabled .paulina-intro > p:not(.kicker) { color: #626759; } body.video-background-enabled .paulina-section .light-link { color: #41572f; border-color: #96a181; } html { scroll-padding-top: 150px; } .brand-destination { position: fixed; top: 4px; left: clamp(20px,1.9vw,40px); width: clamp(104px,7.5vw,130px); height: clamp(104px,7.5vw,130px); pointer-events: none; visibility: hidden; } .floating-brand { position: fixed; z-index: 40; top: 0; left: 0; margin: 0; transform-origin: 0 0; will-change: transform; } .floating-brand.is-suppressed { visibility: hidden; } .floating-brand:focus-visible { outline: 2px solid #52643b; outline-offset: 4px; } .compact-nav { top: 20px; left: 50%; right: auto; justify-content: center; width: max-content; max-width: calc(100% - 56px); min-height: 72px; padding: 10px 24px; gap: 28px; transform: translate(-50%,-130px); } .compact-nav.is-visible { transform: translate(-50%,0); } .compact-nav > .compact-links { margin: 0; } .compact-nav .compact-call { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding-inline: 20px; } .compact-toggle { display: none; } .footer-credit { flex-basis: 100%; margin: 5px 0 0; padding-top: 18px; border-top: 1px solid #d8dccd; text-align: center; } .site-footer > .wrap { flex-wrap: wrap; } .footer-credit a { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 8px; min-height: 44px; vertical-align: middle; color: inherit; text-decoration: none; } .footer-credit a span { text-decoration: underline; text-underline-offset: 3px; } .footer-credit a:hover { color: #35452d; } @media (max-width:1100px) { .compact-nav { gap: 18px; padding-inline: 16px; } } @media (max-width:980px), (max-aspect-ratio:6/5) { html { scroll-padding-top: 100px; } .brand-destination { top: 7px; left: 13px; width: 76px; height: 76px; } .compact-nav { display: flex; top: 14px; left: 104px; right: 16px; width: auto; max-width: none; min-height: 56px; justify-content: space-between; gap: 12px; padding: 7px 10px; overflow: visible; transform: translateY(-130px); } .compact-nav.is-visible { transform: translateY(0); } .compact-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 8px 10px; border: 0; background: none; color: #52643b; font: 16px/1.4 var(--sans); } .compact-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; } .compact-nav > .compact-links { position: absolute; top: calc(100% + 8px); left: 0; right: 0; display: none; max-height: calc(100dvh - 105px); overflow-y: auto; padding: 10px 16px; border: 1px solid #d8dccd; border-radius: 6px; background: #fcfbf8; box-shadow: 0 12px 30px #343b2e14; } .compact-nav.is-menu-open > .compact-links { display: block; } .compact-nav > .compact-links a { justify-content: start; min-height: 48px; padding: 10px 4px; font-size: 16px; border-bottom: 1px solid #e6e9de; } .compact-nav > .compact-links a:last-child { border: 0; } .compact-nav .compact-call { min-height: 44px; padding: 9px 12px; font-size: 13px; } .site-footer p.footer-credit { order: 4; } } @media (max-width:360px) { .compact-nav { left: 98px; right: 10px; gap: 4px; padding-inline: 5px; } .compact-toggle { gap: 6px; padding-inline: 5px; font-size: 14px; } .compact-nav .compact-call { padding-inline: 8px; font-size: 12px; } } @media (prefers-reduced-motion:reduce) { .floating-brand { will-change: auto; } } .photo-transition { position: absolute; z-index: 1; display: grid; grid-template: 100% / 100%; overflow: hidden; isolation: isolate; pointer-events: none; } .photo-transition .slide { position: relative; grid-area: 1 / 1; display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden; opacity: 0; pointer-events: none; will-change: transform,opacity; } .photo-transition .slide--current { opacity: 1; } .photo-transition .slide__img { width: 100%; height: 100%; background: center / cover no-repeat; will-change: transform,opacity,filter; } .photo-transition.demo-2 .slide__img { width: 120%; height: 120%; } .photo-transition .deco { grid-area: 1 / 1; position: relative; width: 100%; height: 100%; background: #8c718e; opacity: 0; pointer-events: none; will-change: transform,opacity; } .photo-transition .deco--1 { background: #d4503e; } .photo-transition .deco--2 { background: #1c1a1a; } .photo-transition .deco--3 { background: #4e4141; } .photo-transition .deco--4 { background: #000; } .photo-transition .deco--5 { background: #060b17; } .photo-transition .deco--6 { background: #34365c; } .photo-transition .deco--7 { background: #9f6794; } .photo-transition .slide__piece { position: absolute; inset: 0; background: center / cover no-repeat; opacity: 0; pointer-events: none; will-change: transform,opacity; } .photo-transition .slides__canvas { position: relative; z-index: 3; grid-area: 1 / 1; width: 100%; height: 100%; visibility: hidden; pointer-events: none; } .photo-transition .slides__canvas--visible { visibility: visible; } .album-stage .album-zoom-hint { z-index: 2; } @media (prefers-reduced-motion:reduce) { .photo-transition { display: none; } } .blog-section { --journal-paper: #fcfbf8; --journal-ink: #282e20; --journal-olive: #53632e; --journal-line: #d8d6c6; --journal-muted: #4b5144; color: var(--journal-ink); background: var(--journal-paper); } .journal-wrap { width: min(1344px,calc(100% - 96px)); margin-inline: auto; } .journal-heading { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 8%; margin-bottom: 48px; } .journal-kicker { display: flex; align-items: center; gap: 24px; max-width: 590px; margin: 0 0 22px; color: var(--journal-olive); font: 600 12px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase; } .journal-kicker::after { content: ''; flex: 1; height: 1px; background: var(--journal-line); } .journal-title { margin: 0; font: 400 clamp(38px,4.3vw,64px)/1.02 var(--serif); letter-spacing: -.035em; } .journal-title-ink { position: relative; display: inline-block; white-space: nowrap; } .journal-title-ink svg { position: absolute; left: 0; bottom: -25px; width: 109%; height: 29px; fill: none; stroke: var(--journal-olive); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } .journal-heading > p { margin: 20px 0 0; padding: 7px 0 7px 34px; border-left: 1px solid #aaa98b; color: var(--journal-ink); font: 19px/1.6 var(--sans); } .journal-toolbar { display: flex; align-items: center; gap: 34px; margin: 0 0 28px; } .journal-toolbar::after { content: ''; flex: 1; height: 1px; background: var(--journal-line); } .journal-filters { display: flex; align-items: center; gap: 10px; flex-shrink: 0; } .journal-filters button { min-height: 44px; padding: 10px 19px; border: 1px solid transparent; border-radius: 25px; background: transparent; color: var(--journal-olive); font: 17px/1.35 var(--sans); cursor: pointer; transition: color .18s,background .18s,border-color .18s; } .journal-filters button[aria-pressed="true"] { color: var(--journal-paper); background: var(--journal-olive); } .journal-filters button:hover:not([aria-pressed="true"]) { border-color: #b7b999; background: #eeede2; } .journal-body { display: grid; grid-template-columns: minmax(0,2.15fr) minmax(245px,.75fr); grid-template-areas: 'feature note' 'bottom bottom'; gap: 32px 46px; } .journal-feature-slot { grid-area: feature; min-width: 0; } .journal-entry { min-width: 0; } .journal-feature-slot > .journal-entry { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: 40px; align-items: center; } .journal-image { position: relative; display: block; overflow: hidden; min-width: 0; height: 410px; background: #e8e7dd; text-decoration: none; } .journal-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; } .journal-image:hover img { transform: scale(1.025); } .journal-feature-slot .journal-image { border-radius: 48% 3px 3px 6px / 64% 3px 3px 6px; } .journal-pantry img { object-position: 45% 55%; } .journal-windows img { object-position: 50% 55%; } .journal-support img { object-position: 50% 44%; } .journal-meta { margin: 0 0 26px; color: var(--journal-olive); font: 600 11px/1.6 var(--sans); letter-spacing: .13em; text-transform: uppercase; } .journal-story { min-width: 0; } .journal-story h3 { margin: 0 0 24px; font: 400 clamp(30px,2.8vw,41px)/1.1 var(--serif); letter-spacing: -.025em; text-wrap: balance; } .journal-story h3 a { color: inherit; text-decoration: none; } .journal-story h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; } .journal-description { margin: 0 0 23px; color: var(--journal-ink); font: 17px/1.55 var(--sans); } .journal-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 27px; min-height: 44px; max-width: 100%; padding: 5px 0; border-bottom: 1px solid #8e9870; color: var(--journal-olive); font: 600 16px/1.4 var(--sans); text-decoration: none; } .journal-link > span { flex-shrink: 0; font: 28px/1 var(--sans); transition: transform .2s; } .journal-link:hover > span { transform: translateX(4px); } .journal-bottom { grid-area: bottom; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 42px; padding-top: 32px; border-top: 1px solid var(--journal-line); } .journal-secondary-slot { min-width: 0; } .journal-secondary-slot > .journal-entry { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); align-items: start; gap: 32px; } .journal-secondary-slot .journal-image { height: 280px; border-radius: 5px; } .journal-secondary-slot .journal-meta, .journal-tertiary-slot .journal-meta { margin: 0 0 20px; } .journal-secondary-slot h3, .journal-tertiary-slot h3 { margin-bottom: 18px; font-size: clamp(27px,2.25vw,34px); } .journal-secondary-slot .journal-description, .journal-tertiary-slot .journal-description { margin-bottom: 14px; font-size: 16px; line-height: 1.6; } .journal-tertiary-slot { min-width: 0; padding-left: 40px; border-left: 1px solid #aaa98b; } .journal-tertiary-slot > .journal-entry { display: grid; grid-template-columns: minmax(0,1fr) 90px; align-items: center; gap: 22px; } .journal-tertiary-slot .journal-image { display: none; } .journal-mark { width: 100%; height: auto; fill: none; } .journal-feature-slot .journal-mark, .journal-secondary-slot .journal-mark { display: none; } .journal-note { grid-area: note; position: relative; align-self: center; min-width: 0; margin: 10px 0 0; padding: 0 16px 0 28px; border-left: 1px solid #8d9870; } .journal-quote-symbol { display: block; height: 56px; color: var(--journal-olive); font: 78px/1 var(--serif); } .journal-note blockquote { position: relative; margin: 0; color: var(--journal-ink); font: italic 23px/1.5 var(--serif); } .journal-note .journal-signature { margin: 22px 0 0; text-align: right; color: #4c5b32; font: 46px/1.45 'Segoe Script','Brush Script MT',cursive; } .journal-sprig { position: absolute; top: -55px; right: -31px; width: 150px; height: 255px; background: url('assets/letter-paper-botanical.webp') top right / 325.8px 434.4px no-repeat; mask: url('assets/blog-sprig-mask.svg') center / 100% 100% no-repeat; pointer-events: none; } .journal-section-filtered .journal-body { grid-template-areas: 'feature note'; } .journal-section-filtered .journal-bottom { display: none; } .blog-section :is(a,button):focus-visible { outline: 2px solid var(--journal-olive); outline-offset: 4px; } .journal-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } @media (max-width:1100px) { .journal-wrap { width: calc(100% - 56px); } .journal-heading { gap: 6%; } .journal-heading > p { padding-left: 24px; font-size: 17px; } .journal-body { gap: 30px; } .journal-feature-slot > .journal-entry { gap: 26px; } .journal-story h3 { font-size: 32px; } .journal-description { font-size: 16px; } .journal-image { height: 360px; } .journal-note { padding-left: 21px; padding-right: 8px; } .journal-note blockquote { font-size: 21px; } .journal-note .journal-signature { font-size: 40px; } .journal-sprig { right: -16px; width: 130px; height: 221px; background-size: 282.36px 376.48px; } .journal-bottom { gap: 30px; } .journal-secondary-slot > .journal-entry { gap: 24px; } .journal-tertiary-slot { padding-left: 28px; } .journal-tertiary-slot > .journal-entry { grid-template-columns: minmax(0,1fr) 76px; gap: 16px; } .journal-secondary-slot h3, .journal-tertiary-slot h3 { font-size: 28px; } } @media (max-width:1000px) { .journal-heading { grid-template-columns: 1.15fr 1fr; } .journal-title { font-size: 43px; } .journal-filters { flex-wrap: wrap; gap: 6px; } .journal-filters button { padding-inline: 15px; font-size: 16px; } .journal-body, .journal-section-filtered .journal-body { grid-template-columns: 1fr; grid-template-areas: 'feature' 'bottom' 'note'; } .journal-section-filtered .journal-body { grid-template-areas: 'feature' 'note'; } .journal-feature-slot > .journal-entry { grid-template-columns: 1.2fr 1fr; gap: 32px; } .journal-image { height: 380px; } .journal-story h3 { font-size: 35px; } .journal-secondary-slot > .journal-entry { grid-template-columns: 1fr; gap: 20px; } .journal-bottom { grid-template-columns: 1fr 1fr; } .journal-secondary-slot .journal-image { height: 260px; } .journal-tertiary-slot > .journal-entry { grid-template-columns: 1fr; } .journal-tertiary-slot .journal-mark { width: 100px; justify-self: end; } .journal-note { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 20px; align-items: center; margin-top: 0; padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--journal-line); } .journal-note blockquote { max-width: 550px; } .journal-note .journal-signature { position: relative; margin: 0; padding: 16px 0 0 16px; font-size: 39px; } .journal-sprig { display: none; } } @media (max-width:700px) { .journal-wrap { width: calc(100% - 40px); } .journal-heading { display: block; margin-bottom: 30px; } .journal-kicker { gap: 18px; font-size: 11px; margin-bottom: 20px; } .journal-title { font-size: clamp(34px,8.9vw,48px); } .journal-title-ink svg { height: 24px; bottom: -22px; } .journal-heading > p { margin-top: 40px; padding: 0 0 0 18px; font-size: 16px; } .journal-toolbar { gap: 0; margin-bottom: 24px; } .journal-toolbar::after { display: none; } .journal-filters { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; flex-shrink: 1; } .journal-filters button { min-height: 46px; padding: 10px 12px; border-color: var(--journal-line); font-size: 15px; } .journal-body { gap: 30px; } .journal-feature-slot > .journal-entry { grid-template-columns: 1fr; gap: 24px; } .journal-image { height: auto; aspect-ratio: 1.32; } .journal-story h3 { margin-bottom: 18px; font-size: 32px; } .journal-meta { margin-bottom: 16px; font-size: 10px; letter-spacing: .12em; } .journal-description { margin-bottom: 16px; font-size: 16px; line-height: 1.65; } .journal-link { gap: 25px; font-size: 16px; } .journal-bottom { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; } .journal-secondary-slot > .journal-entry { gap: 21px; } .journal-secondary-slot .journal-image { height: auto; aspect-ratio: 1.6; } .journal-secondary-slot h3, .journal-tertiary-slot h3 { font-size: 29px; } .journal-tertiary-slot { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--journal-line); } .journal-tertiary-slot > .journal-entry { grid-template-columns: minmax(0,1fr) 75px; gap: 17px; } .journal-tertiary-slot .journal-mark { width: 75px; } .journal-note { display: block; padding: 26px 18px 0; } .journal-quote-symbol { height: 48px; font-size: 68px; } .journal-note blockquote { max-width: calc(100% - 12px); font-size: 22px; } .journal-note .journal-signature { margin: 12px 0 0; padding: 0; font-size: 43px; } .journal-sprig { display: block; top: -3px; right: -3px; width: 110px; height: 187px; background-size: 238.92px 318.56px; opacity: .85; } } @media (max-width:350px) { .journal-wrap { width: calc(100% - 32px); } .journal-filters button { padding-inline: 8px; font-size: 14px; } .journal-story h3 { font-size: 29px; } .journal-tertiary-slot > .journal-entry { grid-template-columns: minmax(0,1fr) 62px; gap: 12px; } .journal-tertiary-slot .journal-mark { width: 62px; } .journal-secondary-slot h3, .journal-tertiary-slot h3 { font-size: 27px; } } @media (prefers-reduced-motion:reduce) { .journal-image img, .journal-link > span { transition: none; } .journal-image:hover img, .journal-link:hover > span { transform: none; } } .journal-all{margin:32px 0 0;text-align:right}.journal-all a{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:var(--journal-olive);font:600 15px/1.5 var(--sans);text-underline-offset:5px} .faq-section { --faq-ink: #303428; --faq-olive: #59683b; --faq-paper: #fcfbf8; --faq-line: #c6c7b4; --faq-panel: #efeee4; --faq-note: #e7e7d6; color: var(--faq-ink); } .faq-wrap { width: min(1560px,calc(100% - 96px)); margin-inline: auto; } .faq-layout { display: grid; grid-template-columns: minmax(0,.36fr) minmax(0,.64fr); gap: 32px; align-items: stretch; } .faq-kicker { margin: 0 0 24px; color: var(--faq-ink); font: 500 12px/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; } .faq-intro { min-width: 0; padding-top: 20px; } .faq-intro h2 { margin: 0 0 25px; font: 400 clamp(35px,2.7vw,46px)/1.08 var(--serif); letter-spacing: -.035em; } .faq-intro-copy { margin: 0 0 18px; font: 20px/1.45 var(--serif); } .faq-phone { display: inline-flex; align-items: center; gap: 20px; min-height: 54px; margin: 0 0 26px; color: var(--faq-ink); font: 400 34px/1.35 var(--serif); text-decoration: none; } .faq-phone svg { width: 32px; height: 32px; flex-shrink: 0; fill: none; stroke: var(--faq-olive); stroke-width: 1.5; } .faq-phone > span { padding-bottom: 4px; border-bottom: 2px solid var(--faq-olive); } .faq-phone:hover { color: var(--faq-olive); } .faq-photo { aspect-ratio: 1.96; overflow: hidden; background: var(--faq-panel); } .faq-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; } .faq-list { min-width: 0; padding-left: 30px; border-left: 1px solid var(--faq-line); } .faq-list details { padding: 0 22px; border-bottom: 1px solid var(--faq-line); } .faq-list details[open] { margin-bottom: 8px; border-bottom-color: transparent; border-radius: 8px; background: var(--faq-panel); } .faq-list summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 79px; padding: 20px 0; list-style: none; color: var(--faq-ink); font: 400 clamp(23px,1.8vw,30px)/1.25 var(--serif); cursor: pointer; } .faq-list summary::-webkit-details-marker { display: none; } .faq-list summary::marker { content: ''; } .faq-toggle { position: relative; display: block; width: 22px; height: 22px; flex-shrink: 0; color: var(--faq-olive); } .faq-toggle::before, .faq-toggle::after { position: absolute; content: ''; left: 2px; top: 10px; width: 18px; height: 2px; background: currentColor; } .faq-toggle::after { transform: rotate(90deg); transition: transform .2s ease; } .faq-list details[open] .faq-toggle::after { transform: rotate(0); } .faq-answer { padding: 0 0 26px; } .faq-answer > p { margin: 0; font: 21px/1.5 var(--serif); } .faq-answer > .faq-reassurance { position: relative; margin: 24px 0 0 16px; padding: 12px 18px; border-radius: 7px; background: var(--faq-note); font-size: clamp(19px,1.45vw,25px); font-style: italic; line-height: 1.4; } .faq-reassurance::before { position: absolute; content: ''; inset: 0 auto 0 -16px; width: 2px; background: var(--faq-olive); } .faq-contact { display: flex; align-items: center; gap: 25px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #aaa98b; } .faq-contact > svg { width: 36px; height: 46px; flex-shrink: 0; fill: var(--faq-olive); stroke: var(--faq-olive); stroke-width: .6; } .faq-contact > p { flex: 1; margin: 0; font: 19px/1.5 var(--serif); } .faq-contact > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 51px; padding: 11px 24px; border: 1px solid var(--faq-olive); border-radius: 6px; color: var(--faq-paper); background: var(--faq-olive); font: 20px/1.35 var(--serif); text-decoration: none; } .faq-contact > a:hover { background: #46552e; } .faq-contact > a > span { font: 27px/1 var(--sans); } .faq-section :is(a,summary):focus-visible { outline: 2px solid var(--faq-olive); outline-offset: 4px; } .faq-list summary { scroll-margin-top: 140px; } @media (max-width:1100px) { .faq-wrap { width: calc(100% - 56px); } .faq-layout { grid-template-columns: minmax(0,.39fr) minmax(0,.61fr); gap: 26px; } .faq-list { padding-left: 24px; } .faq-list details { padding-inline: 18px; } .faq-intro h2 { font-size: 37px; } .faq-intro-copy { font-size: 19px; } .faq-phone { gap: 13px; font-size: 29px; } .faq-list summary { font-size: 25px; } .faq-answer > p { font-size: 19px; } .faq-contact { gap: 20px; } .faq-contact > a { padding-inline: 18px; font-size: 18px; } } @media (max-width:800px) { .faq-wrap { width: calc(100% - 40px); } .faq-layout { grid-template-columns: 1fr; gap: 28px; } .faq-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0 28px; padding-top: 0; } .faq-kicker, .faq-intro h2 { grid-column: 1 / -1; } .faq-intro h2 { max-width: 600px; font-size: 43px; } .faq-intro-copy { grid-column: 1; margin-bottom: 12px; } .faq-phone { grid-column: 1; margin-bottom: 0; justify-self: start; font-size: 30px; } .faq-photo { grid-column: 2; grid-row: 3 / 5; height: 100%; min-height: 190px; aspect-ratio: auto; } .faq-list { padding-left: 0; border-left: 0; } .faq-list summary { min-height: 76px; } .faq-contact { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 18px; } .faq-contact > p { font-size: 19px; } .faq-contact > svg { width: 30px; } .faq-contact > a { grid-column: 2; justify-self: start; } } @media (max-width:520px) { .faq-intro { display: block; } .faq-kicker { font-size: 10px; letter-spacing: .12em; margin-bottom: 20px; } .faq-intro h2 { font-size: clamp(33px,8.5vw,43px); margin-bottom: 23px; } .faq-intro-copy { font-size: 19px; line-height: 1.5; margin-bottom: 18px; } .faq-phone { margin-bottom: 25px; font-size: 32px; } .faq-photo { min-height: 0; height: auto; aspect-ratio: 1.75; } .faq-list details { padding-inline: 16px; } .faq-list summary { align-items: flex-start; gap: 16px; min-height: 78px; padding-block: 21px; font-size: 23px; } .faq-toggle { margin-top: 4px; width: 20px; height: 20px; } .faq-answer { padding-bottom: 23px; } .faq-answer > p { font-size: 18px; } .faq-answer > .faq-reassurance { margin-top: 19px; margin-left: 12px; padding: 12px; } .faq-reassurance::before { left: -12px; } .faq-contact { gap: 14px; } .faq-contact > p { font-size: 18px; } .faq-contact > a { grid-column: 1 / -1; width: 100%; min-height: 52px; font-size: 20px; } } @media (max-width:350px) { .faq-wrap { width: calc(100% - 32px); } .faq-intro h2 { font-size: 31px; } .faq-phone { font-size: 29px; } .faq-list summary { font-size: 21px; gap: 12px; } } @media (prefers-reduced-motion:reduce) { .faq-toggle::after { transition: none; } } .process-section { --process-ink: #343b2e; --process-muted: #626759; --process-olive: #596b3b; --process-line: #9ba878; --process-paper: #fcfbf8; --process-surface: #efeee3; padding-top: clamp(64px,4.5vw,80px); padding-bottom: 0; color: var(--process-ink); } .process-wrap { width: min(1480px,calc(100% - 96px)); margin-inline: auto; } .process-layout { display: grid; grid-template-columns: minmax(0,.42fr) minmax(0,.58fr); gap: 6%; } .process-kicker { margin: 0 0 22px; color: var(--process-olive); font: 500 12px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; } .process-intro { min-width: 0; } .process-intro h2 { margin: 0; font: 400 clamp(36px,3.12vw,52px)/1.07 var(--serif); letter-spacing: -.035em; } .process-intro h2::after { display: block; content: ''; width: 61px; height: 2px; margin-top: 26px; background: var(--process-line); } .process-intro > .process-lead { margin: 20px 0 30px; color: var(--process-muted); font: 18px/1.65 var(--sans); } .process-photo { aspect-ratio: 1.7; margin: 0; overflow: hidden; border-radius: 13px; background: var(--process-surface); } .process-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; } .process-plan { min-width: 0; padding-top: 40px; } .process-track { display: grid; gap: 60px; margin: 0; padding: 0; list-style: none; } .process-track li { position: relative; min-height: 124px; padding-left: 108px; } .process-track li::before { position: absolute; content: ''; left: 0; top: 15px; width: 10px; height: 10px; border-radius: 50%; background: var(--process-line); } .process-track li:not(:last-child)::after { position: absolute; content: ''; left: 4.5px; top: 32px; bottom: -47px; width: 1px; background: var(--process-line); } .process-track .step-number { position: absolute; top: 0; left: 30px; color: var(--process-olive); font: italic 36px/1.2 var(--serif); } .process-track h3 { margin: 0 0 12px; font: 400 clamp(27px,2.15vw,36px)/1.15 var(--serif); letter-spacing: -.025em; } .process-track p { margin: 0; color: var(--process-muted); font: 18px/1.65 var(--sans); } .process-call { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; min-height: 64px; margin-top: 48px; padding: 13px 30px; border: 1px solid var(--process-olive); border-radius: 6px; color: var(--process-paper); background: var(--process-olive); font: 26px/1.35 var(--serif); text-decoration: none; } .process-call > span { font: 31px/1 var(--sans); } .process-call:hover { background: #46572e; } .process-partnership { margin-top: 32px; padding: 30px 0; background: var(--process-surface); } .process-partnership-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; } .process-partnership-inner > div { min-width: 0; } .process-partnership h3 { margin: 0 0 7px; font: 400 clamp(25px,2.05vw,34px)/1.2 var(--serif); letter-spacing: -.02em; } .process-partnership p { margin: 0; color: var(--process-muted); font: 17px/1.6 var(--sans); } .process-partnership a { display: inline-flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 23px; min-height: 47px; padding-block: 8px; border-bottom: 1px solid var(--process-line); color: var(--process-olive); font: 600 16px/1.5 var(--sans); text-decoration: none; } .process-partnership a > span { font: 28px/1 var(--sans); } .process-partnership a:hover { color: var(--process-ink); border-color: currentColor; } .process-section a:focus-visible { outline: 2px solid var(--process-olive); outline-offset: 4px; } @media (max-width:1100px) { .process-wrap { width: calc(100% - 56px); } .process-layout { gap: 5%; } .process-intro h2 { font-size: 38px; } .process-intro > .process-lead, .process-track p { font-size: 16px; } .process-plan { padding-top: 36px; } .process-track { gap: 40px; } .process-track li { padding-left: 83px; min-height: 122px; } .process-track li:not(:last-child)::after { bottom: -27px; } .process-track .step-number { left: 24px; font-size: 31px; } .process-track h3 { font-size: 28px; } .process-call { min-height: 56px; margin-top: 30px; padding-inline: 23px; font-size: 22px; } .process-partnership-inner { gap: 30px; } .process-partnership h3 { font-size: 27px; } .process-partnership p { font-size: 16px; } .process-partnership a { max-width: 260px; flex-shrink: 1; } } @media (max-width:800px) { .process-wrap { width: calc(100% - 40px); } .process-layout { grid-template-columns: 1fr; gap: 36px; } .process-intro h2 { max-width: 620px; font-size: clamp(34px,5.6vw,43px); } .process-intro > .process-lead { max-width: 620px; font-size: 17px; } .process-photo { max-height: 340px; aspect-ratio: 1.7; } .process-plan { padding-top: 0; } .process-track { gap: 30px; } .process-track li { padding-left: 88px; min-height: 0; } .process-track li:not(:last-child)::after { bottom: -17px; } .process-track h3 { font-size: 29px; } .process-track p { font-size: 17px; } .process-call { min-height: 56px; margin-top: 30px; } .process-partnership { margin-top: 34px; padding-block: 27px; } .process-partnership-inner { display: block; } .process-partnership a { margin-top: 12px; max-width: none; } } @media (max-width:520px) { .process-intro h2 { font-size: clamp(32px,8.5vw,41px); } .process-kicker { font-size: 11px; margin-bottom: 20px; } .process-intro > .process-lead { font-size: 16px; } .process-photo { aspect-ratio: 1.4; border-radius: 9px; } .process-track li { padding-left: 69px; } .process-track .step-number { left: 20px; top: 2px; font-size: 27px; } .process-track li::before { top: 14px; width: 8px; height: 8px; } .process-track li:not(:last-child)::after { left: 3.5px; top: 29px; } .process-track h3 { font-size: 26px; } .process-track p { font-size: 16px; } .process-call { width: 100%; gap: 16px; padding-inline: 22px; font-size: 22px; } .process-partnership h3 { font-size: 28px; } .process-partnership p { font-size: 16px; } .process-partnership a { font-size: 15px; gap: 15px; } } @media (max-width:350px) { .process-wrap { width: calc(100% - 32px); } .process-intro h2 { font-size: 31px; } .process-track li { padding-left: 62px; } .process-track h3 { font-size: 24px; } .process-call { padding-inline: 17px; font-size: 20px; } } .contact-section,.site-footer,.contact-form-panel{--contact-paper:#fcfbf8;--contact-ink:#303822;--contact-olive:#52643b;--contact-line:#cbd0bd;--contact-serif:Georgia,'Times New Roman',serif;--contact-sans:'Segoe UI',Arial,sans-serif} .contact-section{padding:0;background:#f7f1e6;color:var(--contact-ink)}.contact-wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}.contact-hero{position:relative;min-height:635px;isolation:isolate;overflow:hidden}.contact-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%;z-index:-1}.contact-hero-copy{padding:55px 0 75px}.contact-eyebrow{display:flex;align-items:center;gap:25px;max-width:580px;margin:0 0 26px;color:var(--contact-ink);font:500 12px/1.5 var(--contact-sans);letter-spacing:.2em;text-transform:uppercase}.contact-eyebrow::after{content:'';flex:1;height:1px;background:#b1b59a}.contact-hero h2{position:relative;width:max-content;max-width:54%;margin:0 0 35px;font:400 clamp(40px,4.4vw,73px)/1.02 var(--contact-serif);letter-spacing:-.04em}.contact-hero h2 svg{position:absolute;right:0;bottom:-22px;width:45%;height:24px;fill:none;stroke:#89945c;stroke-width:2;stroke-linecap:round}.contact-hero .contact-intro{max-width:57%;margin:0 0 22px;color:#4a513c;font:18px/1.65 var(--contact-sans)}.contact-big-phone{display:inline-flex;align-items:center;gap:25px;min-height:85px;margin-bottom:22px;color:var(--contact-ink);font:400 clamp(42px,4.4vw,72px)/1.2 var(--contact-serif);letter-spacing:-.025em;text-decoration:none}.contact-big-phone>svg{width:55px;height:55px;flex-shrink:0;padding:12px;fill:none;stroke:var(--contact-olive);stroke-width:1.4;background:#e7dec4;border-radius:50%}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:18px;max-width:58%}.contact-hero-actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:12px 23px;border:1px solid var(--contact-olive);border-radius:30px;color:var(--contact-ink);font:500 16px/1.5 var(--contact-sans);text-decoration:none}.contact-hero-actions>a.contact-action-primary{color:var(--contact-paper);background:var(--contact-olive)}.contact-hero-actions>a:hover{box-shadow:inset 0 0 0 1px var(--contact-olive)} .contact-form-wrap{position:relative;padding:15px 0 85px}.contact-form-panel{scroll-margin-top:140px;border-top:1px solid var(--contact-line);border-bottom:1px solid var(--contact-line)}.contact-form-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:20px 0;list-style:none;cursor:pointer;font:22px/1.4 var(--contact-serif);color:var(--contact-ink)}.contact-form-panel>summary::-webkit-details-marker{display:none}.contact-form-panel>summary strong{font-weight:400;color:var(--contact-olive)}.contact-form-toggle{flex-shrink:0;color:var(--contact-olive);font:32px/1 var(--contact-sans)}.contact-form-panel[open] .contact-form-toggle{transform:rotate(45deg)}.contact-form-inner{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:9%;padding:35px 0 40px;color:var(--contact-ink);font:16px/1.7 var(--contact-sans)}.contact-form-intro h3{margin:0 0 24px;font:400 46px/1.08 var(--contact-serif);letter-spacing:-.03em}.contact-form-intro p{margin:0 0 20px;color:#626759}.contact-form-intro .contact-eyebrow{font-size:10px;margin-bottom:20px}.contact-form-intro>a{display:inline-flex;align-items:center;min-height:44px;color:var(--contact-olive);font-size:15px;text-underline-offset:5px} .enquiry-form{min-width:0}.enquiry-form label{display:block;margin-bottom:7px;font:600 14px/1.5 var(--contact-sans)}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px}.enquiry-form input:not([type=checkbox]):not([type=file]),.enquiry-form select,.enquiry-form textarea{display:block;width:100%;min-width:0;min-height:49px;padding:11px 14px;border:1px solid #b9c0aa;border-radius:5px;background:var(--contact-paper);color:var(--contact-ink);font:16px/1.55 var(--contact-sans)}.enquiry-form select{margin-bottom:22px}.enquiry-form textarea{resize:vertical;min-height:150px}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{outline:2px solid var(--contact-olive);outline-offset:2px}.enquiry-form :invalid:not(:focus):not(:placeholder-shown){box-shadow:none}.enquiry-form .enquiry-hint{margin:8px 0 22px;color:#626759;font:13px/1.6 var(--contact-sans)}.enquiry-upload{margin-top:25px;padding:22px;border:1px dashed #899775;border-radius:7px;background:#f1f1e7;text-align:center}.enquiry-upload.is-dragging{outline:2px solid var(--contact-olive);outline-offset:3px;background:#e7eddd}.enquiry-upload>label{cursor:pointer}.enquiry-upload svg{display:block;width:32px;height:32px;margin:0 auto 12px;fill:none;stroke:var(--contact-olive);stroke-width:1.5}.enquiry-upload strong,.enquiry-upload label>span{display:block}.enquiry-upload label>span{margin-top:5px;color:#626759;font-weight:400}.enquiry-upload input[type=file]{max-width:100%;padding:7px;font:13px/1.5 var(--contact-sans)}.enquiry-upload>p{margin:9px 0 0;color:#626759;font:12px/1.6 var(--contact-sans)}.enquiry-file-list{display:grid;gap:8px;margin:15px 0 25px;padding:0;list-style:none}.enquiry-file-list li{display:flex;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid var(--contact-line);border-radius:5px;background:var(--contact-paper)}.enquiry-file-list img{width:48px;height:48px;object-fit:cover;border-radius:3px}.enquiry-file-list .enquiry-file-name{flex:1;min-width:0;overflow-wrap:anywhere;font:14px/1.5 var(--contact-sans)}.enquiry-file-list small{display:block;color:#626759;font-size:12px}.enquiry-file-list button{flex-shrink:0;min-width:44px;min-height:44px;padding:5px 10px;border:0;border-radius:4px;background:transparent;color:var(--contact-olive);font:24px/1 var(--contact-sans);cursor:pointer}.enquiry-file-list button:hover{background:#edf0e7}.enquiry-form .enquiry-privacy{display:flex;align-items:start;gap:12px;margin:0 0 12px;font:14px/1.65 var(--contact-sans);font-weight:400}.enquiry-privacy input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;accent-color:var(--contact-olive)}.enquiry-privacy a{color:var(--contact-olive);text-underline-offset:3px}.enquiry-submit{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;min-height:55px;padding:13px 22px;border:1px solid var(--contact-olive);border-radius:5px;color:var(--contact-paper);background:var(--contact-olive);font:600 16px/1.5 var(--contact-sans);cursor:pointer}.enquiry-submit:disabled{opacity:.65;cursor:wait}.enquiry-status{margin:0 0 17px;color:var(--contact-ink);font:14px/1.6 var(--contact-sans)}.enquiry-status:empty{display:none}.enquiry-status[data-state=error]{padding:12px 15px;border-left:3px solid #8d412a;background:#faeee6;color:#793720}.enquiry-status[data-state=success],.enquiry-status[data-state=preview]{padding:12px 15px;border-left:3px solid var(--contact-olive);background:#e7eddd}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-section :is(a,button,summary):focus-visible,.contact-form-inner :is(a,button):focus-visible{outline:2px solid var(--contact-olive);outline-offset:4px} .site-footer{position:relative;padding:0;background:#3e462d;color:#faf8ef;font:16px/1.65 var(--contact-sans)}.footer-wave{position:absolute;left:0;top:-47px;width:100%;height:48px;fill:#3e462d;pointer-events:none}.footer-wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}.footer-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr);gap:45px;padding:45px 0 35px}.footer-brand{display:flex;align-items:center;gap:25px;color:inherit;text-decoration:none}.footer-logo{position:relative;display:block;width:155px;height:155px;flex-shrink:0;overflow:hidden;border-radius:50%;background:#f7f3e8}.footer-logo img{position:absolute;max-width:none;width:151.6%;height:auto;top:-23.3%;left:-26%}.footer-brand-copy{display:block;min-width:0}.footer-brand-copy>strong{display:block;margin-bottom:16px;padding-bottom:7px;border-bottom:2px solid #929c61;font:400 clamp(34px,3.5vw,57px)/1.1 var(--contact-serif);letter-spacing:-.035em}.footer-brand-copy>span{display:block;font-size:14px;letter-spacing:.16em;text-transform:uppercase}.footer-brand-copy>small{display:block;margin-top:13px;font:14px/1.6 var(--contact-sans)}.footer-contact,.footer-hours{padding-left:38px;border-left:1px solid #899274}.site-footer h3{margin:0 0 17px;color:inherit;font:400 29px/1.2 var(--contact-serif)}.site-footer .footer-contact p,.site-footer .footer-hours p{margin:10px 0 16px;font:16px/1.7 var(--contact-sans)}.site-footer a{color:inherit;text-underline-offset:4px}.footer-contact a{display:inline-flex;align-items:center;min-height:37px;text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-pages{display:flex;flex-wrap:wrap;gap:10px 28px;padding-bottom:22px;font-size:14px}.footer-pages a{display:inline-flex;align-items:center;min-height:36px}.footer-bottom{display:flex;align-items:center;gap:25px;padding:23px 0 30px;border-top:1px solid #899274;font-size:12px}.site-footer .footer-bottom p{margin:0;font:12px/1.6 var(--contact-sans)}.footer-bottom>a{min-height:34px;display:inline-flex;align-items:center}.footer-made{margin-left:auto;gap:8px;flex-wrap:wrap;text-decoration:none}.footer-made span{text-decoration:underline}.footer-bottom .footer-top{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;border:1px solid #c2c8b0;border-radius:50%;font:26px/1 var(--contact-sans);text-decoration:none}.site-footer a:focus-visible{outline:2px solid #faf8ef;outline-offset:4px} @media(max-width:1100px){.contact-wrap,.footer-wrap{width:calc(100% - 56px)}.contact-hero{min-height:590px}.contact-backdrop{left:58%;width:42%;object-position:79% 50%}.contact-hero h2{font-size:52px;max-width:57%}.contact-hero .contact-intro{font-size:16px;max-width:55%}.contact-hero-actions{gap:12px;max-width:58%}.contact-hero-actions>a{padding-inline:19px;font-size:14px}.contact-big-phone{font-size:55px;gap:17px}.footer-main{gap:27px;grid-template-columns:minmax(0,1.4fr) 1fr 1fr}.footer-brand{gap:18px;align-items:start;flex-direction:column}.footer-logo{width:130px;height:130px}.footer-contact,.footer-hours{padding-left:24px}.footer-brand-copy>strong{font-size:43px}.footer-bottom{gap:18px;flex-wrap:wrap}.footer-made{margin-left:0}.contact-form-inner{gap:6%;grid-template-columns:.7fr 1fr}.contact-form-intro h3{font-size:38px}} @media(max-width:800px){.contact-wrap,.footer-wrap{width:calc(100% - 40px)}.contact-hero{min-height:0}.contact-hero-copy{padding:40px 0 35px}.contact-backdrop{position:relative;display:block;inset:auto;width:100%;height:350px;object-position:80% 50%;z-index:auto;order:1}.contact-hero{display:flex;flex-direction:column}.contact-hero h2{max-width:100%;font-size:clamp(38px,6.5vw,54px)}.contact-hero .contact-intro{max-width:100%;font-size:17px}.contact-hero-actions{max-width:100%}.contact-big-phone{font-size:56px;min-height:74px}.contact-form-wrap{padding-bottom:75px}.contact-form-inner{grid-template-columns:1fr;gap:26px}.contact-form-intro h3 br{display:none}.contact-form-intro p{max-width:650px}.footer-main{grid-template-columns:1fr 1fr;gap:30px;padding-top:34px}.footer-brand{grid-column:1/-1;flex-direction:row;align-items:center}.footer-brand-copy>strong{font-size:48px}.footer-contact{padding-left:0;border-left:0}.footer-hours{padding-left:28px}.site-footer .footer-contact p,.site-footer .footer-hours p{font-size:15px}.footer-bottom{padding-bottom:30px}.footer-bottom .footer-made{flex:1}.footer-main h3{font-size:26px}} @media(max-width:520px){.contact-hero h2{font-size:clamp(35px,9.2vw,46px)}.contact-hero .contact-intro{font-size:16px}.contact-intro br{display:none}.contact-eyebrow{font-size:11px;margin-bottom:23px}.contact-big-phone{font-size:clamp(36px,10.8vw,52px);gap:13px;letter-spacing:-.035em}.contact-big-phone>svg{width:46px;height:46px;padding:10px}.contact-hero-actions{display:grid;grid-template-columns:1fr;gap:12px}.contact-hero-actions>a{min-height:50px;font-size:16px}.contact-backdrop{height:290px;width:165%;max-width:none;align-self:flex-end;object-position:88% 50%}.contact-form-panel>summary{font-size:21px;padding-block:22px}.contact-form-panel>summary strong{display:block}.contact-form-inner{padding-top:22px}.contact-form-intro h3{font-size:35px}.enquiry-fields{grid-template-columns:1fr;gap:19px}.enquiry-upload{padding:20px 13px}.enquiry-submit{font-size:15px;padding-inline:17px}.footer-main{gap:26px 23px}.footer-logo{width:105px;height:105px}.footer-brand{gap:18px}.footer-brand-copy>strong{font-size:38px;margin-bottom:13px}.footer-brand-copy>span{font-size:12px;letter-spacing:.1em}.footer-brand-copy>small{font-size:12px}.footer-hours{padding-left:20px}.site-footer h3{font-size:24px}.footer-pages{gap:7px 21px;font-size:13px}.footer-bottom{gap:13px}.footer-bottom>p{flex-basis:100%}.footer-bottom .footer-made{flex-basis:75%;font-size:11px}} @media(max-width:350px){.contact-wrap,.footer-wrap{width:calc(100% - 32px)}.contact-big-phone{font-size:35px;gap:9px}.contact-big-phone>svg{width:39px;height:39px;padding:8px}.footer-brand-copy>strong{font-size:32px}.footer-logo{width:90px;height:90px}.footer-main{gap:24px 18px}.footer-hours{padding-left:16px}.site-footer .footer-contact p,.site-footer .footer-hours p{font-size:14px}} @media(prefers-reduced-motion:reduce){.contact-form-toggle{transition:none}} .site-footer .footer-bottom p{order:0;width:auto}.doc-wrap>.contact-form-panel{margin-bottom:90px}.doc-contact+.site-footer{margin-top:0} .enquiry-upload input[type=file]::file-selector-button{min-height:42px;margin-right:10px;padding:9px 14px;border:1px solid var(--contact-olive);border-radius:4px;background:var(--contact-olive);color:var(--contact-paper);font:600 13px/1.5 var(--contact-sans);cursor:pointer}.enquiry-upload input[type=file]:hover::file-selector-button{background:#435530} #kontakt .contact-form-panel>summary{justify-content:center;text-align:center} .process-write{display:flex;align-items:center;min-height:44px;margin:22px 0 8px;color:#52643b;font:600 15px/1.5 'Segoe UI',sans-serif;text-underline-offset:5px}.faq-write{width:min(1440px,calc(100% - 96px));margin:20px auto 0;text-align:center;font:600 15px/1.6 'Segoe UI',sans-serif}.faq-write a{display:inline-flex;align-items:center;min-height:44px;color:#52643b;text-underline-offset:5px}#kontakt .contact-form-wrap{padding-top:32px}#kontakt .contact-form-panel{border:1px solid #a8b28f;border-radius:8px;background:#f6f4eb;padding-inline:clamp(20px,3vw,42px)}#kontakt .contact-form-panel>summary{font-size:25px;min-height:92px}#kontakt .contact-form-panel[open]>summary{border-bottom:1px solid var(--contact-line)}#kontakt .contact-form-panel>summary strong{font-weight:500} @media(max-width:650px){.faq-write{width:calc(100% - 40px)}#kontakt .contact-form-panel{padding-inline:18px}#kontakt .contact-form-panel>summary{font-size:22px;gap:14px}} #kontakt #formularz{scroll-margin-top:16px} .footer-review-invite{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px;padding:23px 0;border-block:1px solid #899274}.site-footer .footer-review-invite p{margin:0;font:400 22px/1.5 var(--contact-serif)}.footer-review-invite p>span{font:15px/1.65 var(--contact-sans)}.footer-review-invite>a{display:inline-flex;align-items:center;justify-content:center;gap:24px;flex-shrink:0;min-height:49px;padding:11px 22px;border:1px solid #c2c8b0;border-radius:4px;font:600 15px/1.5 var(--contact-sans);text-decoration:none}.footer-review-invite>a:hover{background:#faf8ef;color:#3e462d} @media(max-width:650px){.footer-review-invite{flex-direction:column;gap:18px;text-align:center;padding-block:24px}.site-footer .footer-review-invite p{font-size:23px}.footer-review-invite p>span{display:inline-block;margin-top:5px;font-size:14px}.footer-review-invite>a{max-width:100%;font-size:14px}}