:root{--ink:#59595b;--white:#fff;--accent:#f69524;--line:#dedede;--pale:#f5f5f4;--pad:clamp(24px,5.55vw,100px)}.ng-design *{box-sizing:border-box}html{scroll-behavior:smooth}.ng-design{margin:0;color:var(--ink);background:white;font:16px/1.6 Arial,Helvetica,sans-serif}.ng-design img,.ng-design video{display:block;width:100%;height:auto}.ng-design a{color:inherit;text-decoration:none}.ng-design button,.ng-design input,.ng-design select,.ng-design textarea{font:inherit;color:inherit}.ng-design button{cursor:pointer}.ng-design button,.ng-design a,.ng-design input,.ng-design textarea,.ng-design select{outline-offset:5px}.ng-design a:focus-visible,.ng-design button:focus-visible,.ng-design input:focus-visible,.ng-design textarea:focus-visible,.ng-design select:focus-visible{outline:2px solid var(--accent)}.ng-design button{background:none;border:0}.ng-design h1,.ng-design h2,.ng-design h3,.ng-design p{margin:0}.ng-design h1,.ng-design h2,.ng-design h3{font-weight:400;line-height:1.08;letter-spacing:-.045em}.ng-design h1{font-size:clamp(54px,6.3vw,94px)}.ng-design h2{font-size:clamp(38px,4.2vw,64px)}.ng-design h3{font-size:clamp(26px,2.6vw,38px)}.ng-design p{max-width:58ch}.ng-design .eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.4}.ng-design .eyebrow.accent:before{content:'';display:inline-block;width:20px;height:2px;background:var(--accent);vertical-align:middle;margin-right:12px}.ng-design .muted{font-size:13px;opacity:.8}.ng-design .wrap{padding-inline:var(--pad)}.ng-design header{height:112px;padding-inline:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:#fff}.ng-design .logo{width:142px;display:block}.ng-design nav{display:flex;align-items:center;gap:32px;font-size:13px}.ng-design nav details{position:relative}.ng-design summary{cursor:pointer;list-style:none}.ng-design summary::-webkit-details-marker{display:none}.ng-design summary:after{content:' +';margin-left:9px;color:var(--ink)}.ng-design details[open]>summary:after{content:' −'}.ng-design nav .drop{position:absolute;top:40px;left:-24px;min-width:260px;padding:22px;background:white;border:1px solid var(--line);box-shadow:0 12px 24px #00000008}.ng-design nav .drop a{display:block;padding:8px 0}.ng-design nav a:hover,.ng-design .text-link:hover{color:#252527}.ng-design .booking-link{padding-bottom:8px;border-bottom:2px solid var(--accent);white-space:nowrap}.ng-design .text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:13px}.ng-design .text-link:after{content:'↗';font-size:19px}.ng-design .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:white;padding:17px 23px;font-size:13px;border:1px solid var(--ink);min-height:54px}.ng-design .btn:after{content:'↗';font-size:18px}.ng-design .btn:hover{background:#414143}.ng-design .button-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.ng-design .menu-toggle{display:none}.ng-design .hero{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-block:64px 80px;align-items:center}.ng-design .hero h1{margin:30px 0 28px}.ng-design .hero p{font-size:17px;max-width:37ch}.ng-design .hero .button-row{margin-top:35px}.ng-design .hero-video{position:relative;aspect-ratio:1;max-width:680px;justify-self:end;width:100%}.ng-design .hero-video video{height:100%;object-fit:contain}.ng-design .video-control{position:absolute;right:15px;bottom:15px;color:white;background:#59595bd9;border:1px solid #ffffff60;padding:5px 11px;font-size:11px;backdrop-filter:blur(4px)}.ng-design .video-caption{margin-top:12px;display:flex;justify-content:space-between;font-size:11px}.ng-design .section{padding-block:100px}.ng-design .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.ng-design .section-heading h2{margin-top:16px}.ng-design .work-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:start}.ng-design .work:nth-child(2){margin-top:180px}.ng-design .work figure{margin:0}.ng-design .work img{aspect-ratio:4/5;object-fit:cover}.ng-design .work:nth-child(2) img{aspect-ratio:1;object-fit:cover}.ng-design .work-caption{display:flex;justify-content:space-between;gap:20px;padding-top:22px}.ng-design .work-caption h3{font-size:29px}.ng-design .work-caption p{font-size:12px;margin-top:8px}.ng-design .work-caption span{font-size:24px}.ng-design .service-band{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:start}.ng-design .service-list{border-top:1px solid #ccc}.ng-design .service-list a{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #ccc;font-size:25px;letter-spacing:-.025em}.ng-design .service-band h2{margin-top:20px}.ng-design .service-list small{font-size:17px}.ng-design .editorial{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.ng-design .editorial img{aspect-ratio:5/6;object-fit:cover}.ng-design .editorial h2{margin:20px 0 28px}.ng-design .editorial p{margin-bottom:28px}.ng-design .process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.ng-design .process article{border-top:1px solid var(--line);padding-top:24px}.ng-design .process h3{font-size:24px;letter-spacing:-.025em;margin-bottom:16px}.ng-design .process p{font-size:14px;max-width:35ch}.ng-design .quote{padding:80px var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.ng-design .quote blockquote{max-width:850px;margin:0 auto 25px;font-size:clamp(25px,2.7vw,40px);line-height:1.35;letter-spacing:-.025em}.ng-design .quote a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.ng-design .guides{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw;align-items:center}.ng-design .guides h2{margin:20px 0 25px}.ng-design .guide-image{background:var(--pale);padding:25px 18%;display:block}.ng-design .guide-image img{box-shadow:0 7px 18px #00000014;aspect-ratio:910/1287;object-fit:contain}.ng-design .guide-name{padding-top:18px;font-size:18px}.ng-design .guide-actions{display:flex;gap:25px;flex-wrap:wrap;margin-top:8px}.ng-design .guide-actions a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.ng-design .closing{background:var(--ink);color:white;padding:90px var(--pad);display:flex;align-items:end;justify-content:space-between;gap:40px}.ng-design .closing h2{margin-top:20px}.ng-design .closing .text-link{border-color:white}.ng-design .closing p{margin-top:22px;font-size:14px}.ng-design .footer{padding:65px var(--pad) 30px;background:var(--ink);color:white;border-top:1px solid #ffffff35}.ng-design .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.ng-design .footer .logo{width:130px;margin-bottom:20px}.ng-design .footer p,.ng-design .footer a,.ng-design .footer summary{font-size:12px}.ng-design .footer a{display:block;margin-bottom:9px}.ng-design .footer h3{font:12px Arial;letter-spacing:0;margin:0 0 20px;opacity:.7}.ng-design .footer-bottom{margin-top:60px;border-top:1px solid #ffffff35;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:10px}.ng-design .footer details{margin-top:25px}.ng-design .footer details>div{display:flex;gap:25px;flex-wrap:wrap;padding-top:20px}.ng-design .page-title{padding-block:75px 55px}.ng-design .page-title h1{margin-top:20px}.ng-design .page-title .subtitle{margin-top:24px;display:flex;gap:35px;font-size:13px}.ng-design .project-hero img{max-height:800px;object-fit:cover;aspect-ratio:16/10}.ng-design .project-intro{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.ng-design .project-intro h2{max-width:16ch}.ng-design .project-intro p{margin-bottom:20px}.ng-design .gallery{display:grid;grid-template-columns:1fr 1.45fr;gap:7vw;align-items:center}.ng-design .gallery figure{margin:0}.ng-design .gallery figure:nth-child(2){margin-top:160px}.ng-design .gallery figcaption{font-size:12px;margin-top:16px}.ng-design .gallery button{padding:0;width:100%;text-align:left}.ng-design .gallery button img{transition:filter .2s}.ng-design .gallery button:hover img{filter:brightness(.95)}.ng-design .wide-photo{padding-top:90px}.ng-design .wide-photo img{max-height:780px;object-fit:cover}.ng-design .wide-photo figcaption{font-size:12px;margin-top:15px}.ng-design .next-project{display:flex;justify-content:space-between;align-items:center;padding-block:55px;border-top:1px solid var(--line);margin-top:80px}.ng-design .next-project p{font-size:12px;margin-bottom:12px}.ng-design .lightbox{border:0;padding:0;background:#fff;max-width:90vw;max-height:94vh}.ng-design .lightbox::backdrop{background:#000b}.ng-design .lightbox img{max-height:83vh;object-fit:contain}.ng-design .lightbox button{padding:14px;width:100%;text-align:right}.ng-design .contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start;padding-bottom:100px}.ng-design .contact-copy h1{margin:24px 0 32px}.ng-design .contact-copy>p{max-width:37ch}.ng-design .contact-photo{margin-top:60px;width:80%}.ng-design .contact-copy .direct{margin-top:35px;font-size:14px;display:grid;gap:7px}.ng-design .tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.ng-design .tabs button{padding:15px 0;border-bottom:2px solid transparent;font-size:14px}.ng-design .tabs button[aria-selected=true]{border-color:var(--accent)}.ng-design .booking-panel h2{font-size:38px;margin:18px 0 25px}.ng-design .booking-panel>p{font-size:15px;margin-bottom:25px}.ng-design .appointment-meta{display:flex;gap:25px;margin:28px 0;font-size:13px}.ng-design .booking-panel .btn{margin:12px 0 16px}.ng-design .small-note{font-size:12px!important}.ng-design .booking-panel details{border-top:1px solid var(--line);padding:18px 0}.ng-design .booking-panel details p{font-size:14px;padding-top:15px}.ng-design .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ng-design label{display:block;font-size:12px}.ng-design input,.ng-design select,.ng-design textarea{width:100%;border:1px solid #bbb;background:white;border-radius:0;padding:13px;margin-top:8px;min-height:48px;font-size:16px}.ng-design textarea{resize:vertical}.ng-design .full{grid-column:1/-1}.ng-design .check{display:flex;gap:10px;align-items:start;margin:20px 0;font-size:12px}.ng-design .check input{width:17px;min-height:17px;margin:3px 0}.ng-design .preview-note{background:var(--pale);padding:14px;font-size:12px;margin-bottom:24px}.ng-design .form-result{padding:20px;background:var(--pale);margin-top:25px}.ng-design .mobile-book{display:none}.ng-design .help-trigger{position:fixed;right:24px;bottom:24px;background:white;border:1px solid var(--line);border-radius:50%;width:45px;height:45px;z-index:25;font-size:18px;box-shadow:0 3px 12px #0000000a}.ng-design .help-panel{border:1px solid var(--line);max-width:420px;padding:28px}.ng-design .help-panel::backdrop{background:#0005}.ng-design .help-panel h3{margin:15px 0 20px}.ng-design .help-panel a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.ng-design .help-panel p{font-size:13px}.ng-design .help-panel .close{float:right}.ng-design [hidden]{display:none!important}.ng-design .skip{position:absolute;top:-60px;left:20px;z-index:50;background:white;padding:8px}.ng-design .skip:focus{top:0}
@media(max-width:1000px){.ng-design header{height:86px}.ng-design nav{gap:20px}.ng-design .logo{width:120px}.ng-design nav>a:not(.booking-link),.ng-design nav details{display:none}.ng-design .menu-toggle{display:block;font-size:13px}.ng-design .hero{gap:30px}.ng-design h1{font-size:60px}.ng-design .work:nth-child(2){margin-top:100px}.ng-design .section{padding-block:75px}.ng-design .guides{gap:30px}.ng-design .footer-top{gap:25px}.ng-design .contact-layout{gap:50px}.ng-design .contact-copy h1{font-size:56px}}
@media(max-width:700px){.ng-design{font-size:15px}.ng-design header{height:78px}.ng-design .logo{width:115px}.ng-design nav{gap:20px}.ng-design nav .booking-link{font-size:11px}.ng-design h1{font-size:52px;letter-spacing:-.05em}.ng-design h2{font-size:38px}.ng-design .hero{display:flex;flex-direction:column;align-items:stretch;padding-block:42px 48px;gap:36px}.ng-design .hero h1{margin:22px 0}.ng-design .hero p{font-size:15px;max-width:34ch}.ng-design .hero .button-row{margin-top:27px}.ng-design .hero-video{max-width:100%;width:100%;align-self:center}.ng-design .hero .video-caption{font-size:10px}.ng-design .button-row{gap:20px}.ng-design .btn{font-size:12px;gap:20px;padding:14px 18px}.ng-design .section{padding-block:58px}.ng-design .section-heading{align-items:start;margin-bottom:32px}.ng-design .section-heading .text-link{font-size:11px;gap:12px;white-space:nowrap}.ng-design .work-grid{grid-template-columns:1fr;gap:42px}.ng-design .work:nth-child(2){margin:0}.ng-design .work img{aspect-ratio:4/5}.ng-design .work-caption h3{font-size:25px}.ng-design .work-caption{padding-top:17px}.ng-design .service-band,.ng-design .editorial,.ng-design .project-intro,.ng-design .contact-layout{grid-template-columns:1fr;gap:38px}.ng-design .service-list a{font-size:23px}.ng-design .editorial img{aspect-ratio:4/3}.ng-design .process{grid-template-columns:1fr;gap:26px;margin-top:38px}.ng-design .process article{padding-top:20px}.ng-design .process p{max-width:none}.ng-design .quote{padding-block:50px}.ng-design .guides{grid-template-columns:1fr 1fr;gap:25px}.ng-design .guides>div:first-child{grid-column:1/-1}.ng-design .guide-image{padding:20px 15%}.ng-design .guide-name{font-size:16px}.ng-design .guide-actions{gap:10px}.ng-design .closing{padding-block:60px;display:block}.ng-design .closing .text-link{margin-top:32px}.ng-design .footer{padding-block:45px 90px}.ng-design .footer-top{grid-template-columns:1fr 1fr;gap:35px}.ng-design .footer-top>div:first-child{grid-column:1/-1}.ng-design .footer-bottom{display:block;margin-top:35px}.ng-design .footer-bottom>*{margin-bottom:12px}.ng-design .mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:24;background:white;border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px calc(14px + env(safe-area-inset-bottom));font-size:12px;box-shadow:0 -3px 15px #00000004}.ng-design .mobile-book span:last-child{color:var(--ink);border-bottom:2px solid var(--accent)}.ng-design .help-trigger{bottom:76px;right:18px;width:39px;height:39px}.ng-design .page-title{padding-block:42px 36px}.ng-design .page-title h1{font-size:49px}.ng-design .page-title .subtitle{font-size:12px;gap:18px}.ng-design .project-hero img{aspect-ratio:4/3;object-fit:cover}.ng-design .project-intro h2{max-width:14ch}.ng-design .gallery{grid-template-columns:1fr;gap:38px}.ng-design .gallery figure:nth-child(2){margin-top:0}.ng-design .gallery figure:first-child img{max-height:530px;object-fit:contain}.ng-design .wide-photo{padding-top:45px}.ng-design .next-project h3{font-size:27px}.ng-design .contact-layout{padding-top:40px}.ng-design .contact-copy h1{font-size:54px}.ng-design .contact-photo{display:none}.ng-design .contact-copy .direct{font-size:13px;margin-top:24px}.ng-design .tabs{gap:25px}.ng-design .form-grid{grid-template-columns:1fr}.ng-design .full{grid-column:auto}.ng-design .booking-panel h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ng-design *{transition:none!important}}

.ng-design .hero p.eyebrow{font-size:11px;max-width:none}

/* Owner review revision 2: preserve the photographs' own proportions. */
.ng-design .work-grid{display:block}.ng-design .work{display:block}.ng-design .work:first-child{width:70.3125%;max-width:900px}.ng-design .work:nth-child(2){width:100%;margin-top:96px}.ng-design .work img,.ng-design .work:nth-child(2) img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.ng-design .work-caption{padding-top:20px}.ng-design .gallery figure:first-child img{height:auto;max-height:none;object-fit:contain}
.ng-design .btn{padding:14px 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);font-weight:400;min-height:48px}.ng-design .btn:hover{background:transparent;color:#252527;border-bottom-color:var(--accent)}.ng-design .btn:after,.ng-design .text-link:after{color:var(--accent)}.ng-design .booking-link{border-bottom-width:1px}.ng-design .mobile-book span:last-child{border-bottom-width:1px}
@media(max-width:700px){.ng-design .work:first-child,.ng-design .work:nth-child(2){width:100%;max-width:none}.ng-design .work:nth-child(2){margin-top:44px}.ng-design .btn{padding:13px 0}.ng-design .work-caption{padding-top:17px}}

/* Integration resets for the existing site stylesheet. */
.ng-design{color:var(--ink);font-family:Arial,Helvetica,sans-serif}.ng-design .wrap{max-width:none;margin:0}.ng-design h1,.ng-design h2,.ng-design h3{color:inherit;text-wrap:initial}.ng-design section:not(.section):not(.hero):not(.closing):not(.page-title){padding-block:0}.ng-design .hero{background:none;color:var(--ink);min-height:0;overflow:visible;position:relative}.ng-design .hero:before,.ng-design .hero:after{display:none}.ng-design .hero h1{max-width:none}.ng-design .hero p{color:var(--ink)}.ng-design .btn{border-radius:0;box-shadow:none;text-decoration:none;transform:none}.ng-design .hero .btn{color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink)}.ng-design .eyebrow{display:block;font-weight:400}.ng-design .eyebrow:not(.accent):before{display:none}.ng-design .logo{height:auto;max-width:none}.ng-design .footer{margin:0}.ng-design .footer-top{max-width:none}.ng-design .footer a{color:white;text-decoration:none}.ng-design .footer summary:after{color:white}.ng-design .closing{padding-block:90px}.ng-design .quote{padding-block:80px!important}.ng-design .contact-layout{padding-top:75px!important;padding-bottom:100px!important}.ng-design .page-title{padding-block:75px 55px}.ng-design .hero-video video{position:static;opacity:1}.ng-design .all-reviews{padding-block:32px 80px}.ng-design .all-reviews>summary{font-size:14px;text-decoration:underline;text-underline-offset:6px}.ng-design .all-reviews .google-reviews{margin-top:32px}.ng-design .all-reviews .wrap{padding:0}.ng-design .help-panel [data-open-chat]{display:block;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.ng-design form.enq{padding:0;background:none;border:0;box-shadow:none}.ng-design form.enq label{margin-bottom:20px}.ng-design form.enq .consent input{width:18px;min-height:18px;flex-shrink:0;margin-top:3px}.ng-design form.enq .consent{display:flex;gap:12px;align-items:flex-start}.ng-design form.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ng-design form.enq .hp{display:none!important}.ng-design form.enq .small{font-size:12px}.ng-design form.enq textarea{min-height:120px}.ng-design .form-ok,.ng-design .form-err{padding:24px;font-size:16px;background:#f2f2f2}.ng-design .contact-layout p.small-note{margin-bottom:24px}.ng-design .lightbox{max-width:90vw}.ng-design .lightbox img{width:100%}
@media(max-width:700px){.ng-design .closing{padding-block:60px}.ng-design .contact-layout{padding-block:40px 60px!important}.ng-design .quote{padding-block:50px!important}.ng-design .page-title{padding-block:42px 36px}.ng-design form.enq .row{grid-template-columns:1fr;gap:0}.ng-design .all-reviews{padding-block:24px 48px}}
