.emdash-image-media[data-astro-cid-6depetnu]{max-width:100%;height:auto}:where(:root.dark) .emdash-image--light,:where(:root.light) .emdash-image--dark{display:none}@media (prefers-color-scheme:dark){:where(:root:not(.light)) .emdash-image--light{display:none}}@media (prefers-color-scheme:light){:where(:root:not(.dark)) .emdash-image--dark{display:none}}.has-text-align-center[data-astro-cid-44ocxh3s]{text-align:center}.has-text-align-right[data-astro-cid-44ocxh3s]{text-align:right}.has-text-align-justify[data-astro-cid-44ocxh3s]{text-align:justify}.emdash-image[data-astro-cid-nzlefzml]{margin:1.5rem 0}.emdash-image[data-astro-cid-nzlefzml] img[data-astro-cid-nzlefzml]{max-width:100%;height:auto}.emdash-image[data-astro-cid-nzlefzml] figcaption[data-astro-cid-nzlefzml]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-image--align-left[data-astro-cid-nzlefzml],.emdash-image--align-right[data-astro-cid-nzlefzml]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-nzlefzml]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-nzlefzml]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-nzlefzml]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-nzlefzml],.emdash-image--align-full[data-astro-cid-nzlefzml]{width:100%}@media (width<=640px){.emdash-image--align-left[data-astro-cid-nzlefzml],.emdash-image--align-right[data-astro-cid-nzlefzml]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-dgremz56]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-dgremz56]{color:#ccc;background:#2d2d2d;border-radius:.5rem .5rem 0 0;padding:.5rem 1rem;font-family:monospace;font-size:.75rem}.emdash-code[data-astro-cid-dgremz56] pre[data-astro-cid-dgremz56]{background:#1e1e1e;border-radius:.5rem;margin:0;padding:1rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-dgremz56]+pre[data-astro-cid-dgremz56]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-dgremz56] code[data-astro-cid-dgremz56]{color:#e0e0e0;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.emdash-embed[data-astro-cid-n4v2ghzc]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-n4v2ghzc]{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.emdash-embed-video[data-astro-cid-n4v2ghzc] iframe[data-astro-cid-n4v2ghzc],.emdash-embed-video[data-astro-cid-n4v2ghzc] video[data-astro-cid-n4v2ghzc]{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.emdash-embed-audio[data-astro-cid-n4v2ghzc],.emdash-embed-audio[data-astro-cid-n4v2ghzc] audio[data-astro-cid-n4v2ghzc]{width:100%}.emdash-embed[data-astro-cid-n4v2ghzc] figcaption[data-astro-cid-n4v2ghzc]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-gallery[data-astro-cid-d6nmylgu]{grid-template-columns:repeat(var(--columns,3), 1fr);gap:1rem;margin:1.5rem 0;display:grid}.emdash-gallery-item[data-astro-cid-d6nmylgu]{margin:0}.emdash-gallery-item[data-astro-cid-d6nmylgu] img[data-astro-cid-d6nmylgu]{object-fit:cover;aspect-ratio:1;width:100%;height:auto}.emdash-gallery-item[data-astro-cid-d6nmylgu] figcaption[data-astro-cid-d6nmylgu]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.25rem;font-size:.75rem}@media (width<=640px){.emdash-gallery[data-astro-cid-d6nmylgu]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-sjaxkm7w]{gap:2rem;margin:1.5rem 0;display:flex}.emdash-column[data-astro-cid-sjaxkm7w]{flex:1;min-width:0}@media (width<=768px){.emdash-columns[data-astro-cid-sjaxkm7w]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-gvovdxls]{margin:2rem 0}.emdash-break-line[data-astro-cid-gvovdxls]{border:none;border-top:1px solid var(--emdash-break-color,var(--color-border,#e0e0e0))}.emdash-break-dots[data-astro-cid-gvovdxls]{text-align:center;color:var(--emdash-break-dots-color,var(--color-muted,#999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-gvovdxls]{height:2rem}iframe[data-emdash-html-block]{border:0;width:100%;margin:1.5rem 0;display:block}.emdash-html-block[data-astro-cid-7hlqo6bn]{margin:1.5rem 0}.emdash-iframe[data-astro-cid-fhxykd76]{aspect-ratio:16/9;width:100%;margin:1.5rem 0}.emdash-iframe[data-astro-cid-fhxykd76] iframe{border:0;width:100%;height:100%;display:block}.emdash-table-wrapper[data-astro-cid-7uypp5bz]{overscroll-behavior-inline:contain;max-inline-size:100%;margin-block:1.5rem;overflow-x:auto}.emdash-table[data-astro-cid-7uypp5bz]{border-collapse:collapse;inline-size:100%;font-size:.9rem}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz],.emdash-table[data-astro-cid-7uypp5bz] td[data-astro-cid-7uypp5bz]{border:1px solid var(--color-border,#ddd);text-align:start;vertical-align:top;padding:.75rem;position:relative}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz] p,.emdash-table[data-astro-cid-7uypp5bz] td[data-astro-cid-7uypp5bz] p{margin:0}.emdash-table[data-astro-cid-7uypp5bz] th[data-astro-cid-7uypp5bz]{background:var(--color-surface,#f5f5f5);font-weight:600}.emdash-table[data-astro-cid-7uypp5bz] tbody[data-astro-cid-7uypp5bz] tr[data-astro-cid-7uypp5bz]:nth-child(2n){background:var(--color-bg-subtle,#fafafa)}.emdash-table[data-astro-cid-7uypp5bz] tbody[data-astro-cid-7uypp5bz] tr[data-astro-cid-7uypp5bz]:hover{background:var(--color-surface,#f0f0f0)}.emdash-button[data-astro-cid-i644adhy]{cursor:pointer;border-radius:4px;padding:.75em 1.5em;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-block}.emdash-button--default[data-astro-cid-i644adhy],.emdash-button--fill[data-astro-cid-i644adhy]{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff);border:2px solid var(--emdash-button-bg,#0073aa)}.emdash-button--default[data-astro-cid-i644adhy]:hover,.emdash-button--fill[data-astro-cid-i644adhy]:hover{background-color:var(--emdash-button-bg-hover,#005177);border-color:var(--emdash-button-bg-hover,#005177)}.emdash-button--outline[data-astro-cid-i644adhy]{color:var(--emdash-button-bg,#0073aa);border:2px solid var(--emdash-button-bg,#0073aa);background-color:#0000}.emdash-button--outline[data-astro-cid-i644adhy]:hover{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff)}.emdash-buttons[data-astro-cid-pxkpowas]{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.emdash-buttons--vertical[data-astro-cid-pxkpowas]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-pxkpowas]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-g6rigryn]{background-color:var(--emdash-cover-fallback-bg,#333);border-radius:4px;align-items:center;margin:1.5rem 0;padding:2rem;display:flex;position:relative;overflow:hidden}.emdash-cover__background[data-astro-cid-g6rigryn]{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.emdash-cover__video[data-astro-cid-g6rigryn]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-g6rigryn]{z-index:1;position:absolute;inset:0}.emdash-cover__content[data-astro-cid-g6rigryn]{z-index:2;width:100%;color:var(--emdash-cover-text-color,#fff);position:relative}.emdash-cover--align-left[data-astro-cid-g6rigryn]{text-align:left;justify-content:flex-start}.emdash-cover--align-center[data-astro-cid-g6rigryn]{text-align:center;justify-content:center}.emdash-cover--align-right[data-astro-cid-g6rigryn]{text-align:right;justify-content:flex-end}.emdash-cover__content[data-astro-cid-g6rigryn] h1,.emdash-cover__content[data-astro-cid-g6rigryn] h2,.emdash-cover__content[data-astro-cid-g6rigryn] h3,.emdash-cover__content[data-astro-cid-g6rigryn] h4,.emdash-cover__content[data-astro-cid-g6rigryn] p{color:inherit}.emdash-file[data-astro-cid-dsnn5jk3]{background-color:var(--emdash-file-bg,#f5f5f5);border:1px solid var(--emdash-file-border,#e0e0e0);border-radius:4px;align-items:center;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.emdash-file__link[data-astro-cid-dsnn5jk3]{color:var(--emdash-file-color,#333);flex:1;align-items:center;gap:.5rem;text-decoration:none;display:flex}.emdash-file__link[data-astro-cid-dsnn5jk3]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-dsnn5jk3]{width:1.5rem;height:1.5rem;color:var(--emdash-file-icon-color,#666);flex-shrink:0}.emdash-file__name[data-astro-cid-dsnn5jk3]{word-break:break-all;font-weight:500}.emdash-file__download[data-astro-cid-dsnn5jk3]{background-color:var(--emdash-button-bg,#0073aa);width:2.5rem;height:2.5rem;color:var(--emdash-button-color,#fff);border-radius:4px;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.emdash-file__download[data-astro-cid-dsnn5jk3]:hover{background-color:var(--emdash-button-bg-hover,#005177)}.emdash-file__download[data-astro-cid-dsnn5jk3] svg[data-astro-cid-dsnn5jk3]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-mtrxdgkr]{border-top:4px solid var(--emdash-pullquote-border,#0073aa);border-bottom:4px solid var(--emdash-pullquote-border,#0073aa);text-align:center;margin:2rem 0;padding:1.5rem 2rem}.emdash-pullquote__text[data-astro-cid-mtrxdgkr]{color:var(--emdash-pullquote-color,#333);margin:0;font-size:1.5rem;font-style:italic;line-height:1.4}.emdash-pullquote__citation[data-astro-cid-mtrxdgkr]{color:var(--emdash-pullquote-citation-color,#666);margin-top:1rem;font-size:.9rem;font-style:normal}.gallery-image{isolation:isolate;display:block;position:relative;overflow:hidden}.gallery-image-placeholder{background:var(--paper);pointer-events:none;place-items:center;transition:opacity .18s ease-out,visibility .18s;display:grid;position:absolute;inset:0}.gallery-image-placeholder:before{content:"";background:url(/images/inca-bird.webp) 50%/contain no-repeat;width:76px;max-width:45%;height:clamp(100px,16vw,190px);max-height:55%}.gallery-image>img{opacity:1;transition:opacity .18s ease-out,transform .4s cubic-bezier(.16,1,.3,1);position:relative}.gallery-image[data-image-state=loading]>img,.gallery-image[data-image-state=error]>img{opacity:0}.gallery-image[data-image-state=loaded]>.gallery-image-placeholder{opacity:0;visibility:hidden}.gallery-image-error{text-align:center;color:var(--ink);font-size:1rem;line-height:1.4;position:absolute;inset:auto 16px 20px}.photo-viewer-image.gallery-image{width:min(1100px, calc((100dvh - 180px) * var(--photo-ratio,1.3333)));max-width:100%;aspect-ratio:var(--photo-ratio,1.3333)}.photo-viewer-image.gallery-image>img{object-fit:contain;width:100%;height:100%;max-height:none}@media (prefers-reduced-motion:reduce){.gallery-image>img,.gallery-image-placeholder{transition:none}}@font-face{font-family:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/cabin-vietnamese-wght-normal.Ccotw_Ab.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/cabin-latin-ext-wght-normal.CiC-id32.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/cabin-latin-wght-normal.DZW_uTKI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#e9eae5;--ink:#182720;--forest:#293a34;--copper:#8e624e;--muted:#4b5750;--rule:#bcc3b9;--pad:3.9vw;--font:"Cabin Variable",sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--copper) var(--paper)}*{box-sizing:border-box}body{margin:0}::selection{background:var(--forest);color:var(--paper)}a{color:inherit;text-underline-offset:.22em}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;height:auto;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{text-wrap:balance;font-weight:400}h1{letter-spacing:-.035em;font-size:clamp(3.5rem,5.75vw,6rem);line-height:1.03}h2{letter-spacing:-.03em;font-size:clamp(2.4rem,3.6vw,4rem);line-height:1.08}p{max-width:65ch;font-size:1.2rem;line-height:1.5}p+p{margin-top:1rem}[hidden]{display:none!important}.section-pad{padding-left:var(--pad);padding-right:var(--pad)}.sr-only,.skip-link:not(:focus){clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:20;background:var(--forest);color:#fff;padding:16px;position:fixed;top:12px;left:12px}.button{background:var(--forest);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;min-height:48px;padding:14px 30px;text-decoration:none;transition:background .18s ease-out;display:inline-flex}.button:hover{background:#42594c}.site-header{height:7.94vw;min-height:108px;padding:1.3vw var(--pad) 0;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.brand{flex-shrink:0;width:13vw;min-width:168px;height:6.9vw;min-height:88px;display:block;position:relative;overflow:hidden}.brand img{width:100%;max-width:none;height:auto;top:calc(-.58 * var(--logo-width));position:absolute}.brand{--logo-width:max(168px,13vw);width:var(--logo-width);height:calc(var(--logo-width) * .61)}.site-header nav{align-items:center;gap:2.8vw;padding-top:5px;font-size:clamp(1rem,1.1vw,1.2rem);display:flex}.site-header nav>a:not(.button){padding:12px 0;text-decoration:none}.site-header nav>a:not(.button):hover{text-decoration:underline}.hero{min-height:31.5vw;margin:0 var(--pad);position:relative}.hero-copy{z-index:3;width:38%;padding-top:3vw;position:relative}.hero-copy h1{max-width:9.7em}.hero-copy p{margin-top:1.45vw;font-size:clamp(1.25rem,1.86vw,1.9rem);line-height:1.25}.hero-cta{min-height:4.4vw;margin-top:2.3vw;padding:18px 44px;font-size:clamp(1.1rem,1.5vw,1.5rem)}.hero-images{height:100%;position:absolute;top:0;left:38.85%;right:0}.hero-images figure{position:absolute}.hero-images img{object-fit:cover;width:100%;height:100%}.hero-stone{z-index:2;outline:7px solid var(--paper);width:65.5%;height:24.2vw;top:0;left:0}.hero-brick{z-index:1;width:41.85%;height:29.3vw;top:4vw;right:0}.hero-images figcaption,.placeholder-project figcaption{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#182720db;max-width:100%;padding:10px 15px;font-size:.72rem;position:absolute;bottom:0;left:0}.city-band{background:var(--forest);color:#fff;min-height:6.7vw;padding:23px var(--pad);letter-spacing:.01em;align-items:center;gap:1.05rem;font-size:clamp(1.3rem,2.25vw,2.35rem);display:flex}.portfolio{grid-template-columns:27.7% 1fr;gap:2%;padding-top:24px;padding-bottom:100px;display:grid}.portfolio-intro{padding:45px 30px 0 42px}.portfolio-intro p{max-width:27ch;color:var(--muted);margin-top:26px;font-size:1rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.placeholder-project{aspect-ratio:1.92;position:relative;overflow:hidden}.placeholder-project img,.project-image img{object-fit:cover;width:100%;height:100%}.project-link{text-decoration:none}.project-image{overflow:hidden}.project-image img{height:auto;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-link:hover img{transform:scale(1.035)}.project-link h3{margin-top:18px;font-size:1.6rem}.project-link p{color:var(--muted);margin-top:5px;font-size:1rem}.project-link:hover h3{text-underline-offset:.18em;text-decoration:underline}.filters{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.filters button{border:1px solid var(--forest);color:var(--forest);background:0 0;min-height:44px;padding:10px 18px}.filters button[aria-pressed=true]{background:var(--forest);color:#fff}.about,.service-area,.contact,.services{grid-template-columns:1fr 1fr;gap:10%;padding-top:85px;padding-bottom:85px;display:grid}.about{border-top:1px solid var(--rule)}.about h2{max-width:13ch}.about p,.service-area p,.contact p{max-width:48ch}.text-link{margin-top:26px;font-size:1.15rem;display:inline-block}.text-link span{margin-left:12px}.service-area{background:#dde0d6}.contact{background:var(--forest);color:#fff}.contact h2{max-width:16ch}.contact p{color:#e0e5dd;margin-top:24px}.contact-action{align-self:center}.contact-action p:first-child{margin-top:0}.contact-note{font-size:1.6rem}.light-button{color:var(--forest);background:var(--paper);margin-top:24px}.light-button:hover{background:#fff}.contact-details{overflow-wrap:anywhere;flex-direction:column;gap:16px;margin-top:24px;font-size:clamp(1.2rem,2vw,2rem);display:flex}.contact-details a:focus-visible{outline-color:#d1b4a0}#contact-challenge{margin-top:24px}.site-footer{padding:36px var(--pad);color:var(--muted);justify-content:space-between;gap:30px;font-size:.95rem;display:flex}.site-footer>a{color:var(--ink);text-decoration:none}.service-list a{border-top:1px solid var(--rule);grid-template-columns:1fr auto;gap:10px;padding:24px 0;text-decoration:none;display:grid}.service-list h3{font-size:1.7rem}.service-list p{grid-column:1;font-size:1.1rem}.service-list span{grid-area:1/2}.service-list a:hover h3{text-decoration:underline}.detail{padding-top:50px;padding-bottom:80px}.detail header{max-width:950px;margin:60px 0}.detail header p{margin-top:24px}.detail-cover{max-width:1100px;margin-inline:auto}.detail-cover img{object-fit:contain;width:100%;height:auto;max-height:1100px}.prose{max-width:72ch;margin:50px auto;font-size:1.2rem;line-height:1.6}.prose>*+*{margin-top:24px}.gallery{grid-template-columns:1fr 1fr;gap:30px;display:grid}.gallery figcaption{color:var(--muted);margin-top:12px}.not-found{padding-top:100px;padding-bottom:140px}.not-found p{margin:32px 0}.not-found .button{margin-top:10px}@media (width>=1800px){:root{--pad:max(60px,calc((100vw - 1660px)/2))}.site-header{height:144px;padding-top:24px}.brand{--logo-width:220px;width:220px;height:134px}.hero{min-height:570px}.hero-copy{padding-top:52px}.hero-copy p{margin-top:25px}.hero-cta{margin-top:34px}.hero-stone{height:437px}.hero-brick{height:528px;top:75px}.city-band{min-height:120px}}@media (width<=1100px) and (width>=761px){.site-header{height:112px}.hero-copy{width:39%;padding-top:20px}.hero-copy h1{font-size:5.65vw}.hero-copy p{margin-top:18px;font-size:1.9vw}.hero-cta{margin-top:20px;padding:14px 22px;font-size:1rem}.hero{min-height:36vw}.hero-stone{height:27vw}.hero-brick{height:34vw}.portfolio-intro{padding:24px 8px 0 0}.portfolio-intro h2{font-size:3.8vw}.portfolio{padding-bottom:65px}.site-header nav{gap:22px}.site-header .nav-contact{padding:12px 18px}.placeholder-project figcaption{letter-spacing:.07em;padding:8px;font-size:.6rem}}@media (width<=760px){:root{--pad:24px}.site-header{align-items:flex-start;gap:16px;height:104px;min-height:0;padding-top:14px}.brand{--logo-width:150px;width:150px;min-width:150px;height:92px;min-height:92px}.site-header nav{gap:20px;padding-top:15px;font-size:1rem}.nav-area,.site-header .nav-contact{display:none}.hero{margin:0 var(--pad);min-height:0}.hero-copy{width:100%;padding-top:24px}.hero-copy h1{max-width:10ch;font-size:clamp(3rem,8.5vw,4.3rem)}.hero-copy p{max-width:32ch;margin-top:24px;font-size:1.3rem;line-height:1.4}.hero-cta{min-height:54px;margin-top:28px;padding:16px 28px;font-size:1.12rem}.hero-images{height:390px;margin-top:42px;position:relative;left:auto;right:auto}.hero-stone{outline-width:5px;width:78%;height:240px}.hero-brick{width:44%;height:280px;top:80px}.hero-images figcaption{letter-spacing:.05em;padding:8px 10px;font-size:.59rem}.city-band{flex-wrap:wrap;gap:8px;min-height:90px;padding-top:20px;padding-bottom:20px;font-size:1.18rem}.portfolio{padding-top:44px;padding-bottom:55px;display:block}.portfolio-intro{padding:0 0 28px}.portfolio-intro h2 br{display:none}.portfolio-intro p{max-width:48ch;margin-top:20px}.project-grid{gap:20px}.placeholder-project{aspect-ratio:.95}.placeholder-project figcaption{letter-spacing:.03em;padding:9px;font-size:.6rem}.about,.service-area,.contact,.services{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:55px}.about h2{max-width:16ch}h2{font-size:2.6rem}.contact h2 br,.service-area h2 br{display:none}.contact h2{max-width:16ch}.site-footer{flex-direction:column;gap:14px;padding-top:30px;padding-bottom:30px}.gallery{grid-template-columns:1fr}.detail{padding-top:20px}.detail header{margin:40px 0}.detail h1,.not-found h1{font-size:3rem}.not-found{padding-top:70px;padding-bottom:90px}.contact-details,.project-link h3{font-size:1.35rem}.service-list h3{font-size:1.45rem}}@media (width<=370px){:root{--pad:18px}.nav-about{display:none}.hero-copy h1{font-size:2.9rem}.hero-images{height:340px}.hero-stone{height:210px}.hero-brick{height:240px}.city-band{gap:7px;font-size:1.05rem}.project-grid{grid-template-columns:1fr}.placeholder-project{aspect-ratio:1.6}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.enquiry-form{width:100%}.enquiry-fields{grid-template-columns:1fr 1fr;gap:22px 20px;display:grid}.enquiry-fields label{font-size:1rem;line-height:1.4;display:block}.enquiry-fields label span{color:#c6d0c8}.enquiry-fields input,.enquiry-fields textarea{background:var(--paper);width:100%;color:var(--ink);font:inherit;border:1px solid #a4b1a7;border-radius:0;min-height:48px;margin-top:8px;padding:12px 14px;line-height:1.45;display:block}.enquiry-fields textarea{resize:vertical;min-height:160px}.enquiry-fields input:focus-visible,.enquiry-fields textarea:focus-visible{outline-offset:3px;outline:3px solid #d1b4a0}.enquiry-message{grid-column:1/-1}.contact .form-note{margin-top:18px;font-size:.9rem}.enquiry-form .light-button{margin-top:20px}.contact #enquiry-status:empty{display:none}.contact-details{margin-top:34px;font-size:clamp(1.2rem,1.9vw,1.85rem)}.contact-action:has(.enquiry-form){align-self:start}#enquiry-challenge{margin-top:20px}@media (width<=480px){.enquiry-fields{grid-template-columns:1fr}.enquiry-form .light-button{width:100%}}@media (width<=760px){.site-header .nav-about{display:none}}.breadcrumbs ol{flex-wrap:wrap;gap:10px;margin:0;padding:0;font-size:1rem;line-height:1.6;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--muted);margin-right:10px}.breadcrumbs a{color:var(--ink)}.related-projects{max-width:1200px;margin:64px auto 0}.related-projects h2{margin-bottom:28px;font-size:clamp(2rem,3vw,3rem)}.related-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.related-project-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.related-project-grid h3{margin-top:18px;font-size:1.5rem}.related-project-grid p{margin-top:12px;font-size:1rem}.related-project-action{color:#794c37;margin-top:16px;text-decoration:underline;display:inline-block}.related-services{max-width:72ch;margin:40px auto 0}.related-services h2{margin-bottom:16px;font-size:2rem}.related-services ul{padding-left:22px}.related-services li{margin-top:12px}.contact .contact-fallback{font-size:.95rem}.site-footer{flex-wrap:wrap}.prose h2{font-size:clamp(1.7rem,2.5vw,2.5rem);line-height:1.2}.prose h3{font-size:1.45rem}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:10px}.project-link .comparison-link-note,.project-link .interior-project-action{color:#794c37}@media (width<=1100px){.site-header nav{gap:18px}.site-header .nav-about{display:none}.related-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.site-header nav{gap:12px;font-size:.9rem}.related-project-grid{grid-template-columns:1fr}.breadcrumbs{margin-top:12px}.hero-copy h1{max-width:13ch;font-size:clamp(2.8rem,8vw,4rem)}}@media (width<=370px){.brand{--logo-width:120px;min-width:120px;height:74px;min-height:74px}.site-header{gap:10px}.site-header nav{gap:10px;font-size:.85rem}}.reviews{border-top:1px solid var(--rule);grid-template-columns:1fr 1.5fr;gap:8%;padding-top:64px;padding-bottom:64px;display:grid}.reviews h2{margin-bottom:24px;font-size:clamp(2rem,3vw,3rem)}.reviews>div>p{font-size:1rem}.review-list{gap:30px;display:grid}.review-list blockquote{margin:0}.review-list blockquote p{font-size:1.25rem;line-height:1.55}.review-list figcaption{color:var(--muted);margin-top:14px;font-size:.95rem}@media (width<=760px){.reviews{grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:48px}}.hero{padding-bottom:32px}@media (width>=761px){.hero-copy h1{font-size:clamp(2.8rem,4vw,4.5rem)}}
