@font-face{font-family:Cera;src:url('/assets/c9951267887a4549.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Cera;src:url('/assets/a190e7054eded2c4.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Cera;src:url('/assets/96e69b1c817cbd18.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f6f5f3;--ink:#5b4136;--gutter:28px;--line:rgba(91,65,54,.65)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#a69990 #5b4136}body{margin:0;background:var(--paper);color:var(--ink);font-family:Cera,Arial,sans-serif;font-size:24px;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0;font-weight:400}.skip{position:fixed;top:-100px;left:24px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:12px}.site-header{height:60px;position:fixed;inset:0 0 auto;z-index:30;padding:12px var(--gutter);display:flex;justify-content:space-between;align-items:center;background:var(--paper)}.site-header:after{content:'';position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}.brand{letter-spacing:-1px;white-space:nowrap}.brand strong{font-weight:700}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{line-height:36px;letter-spacing:-.7px}.site-header nav a[aria-current=page]{font-weight:700}.menu-toggle{display:none}.home{background:#3e3b30;color:var(--paper)}.home .site-header{background:transparent}.home .site-header:after{display:none}.home main{padding:0}.panel{height:100svh;min-height:540px;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;scroll-snap-align:start}.panel>img,.panel>video{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2}.panel:after{content:'';position:absolute;inset:0;background:rgba(28,24,19,.2);z-index:-1}.panel h1,.panel h2{font-size:9.16vw;line-height:.91;letter-spacing:-.055em;text-align:center;font-weight:500;width:96%;text-wrap:balance}.panel h1 span{display:block}.panel-link{position:absolute;inset:0;display:grid;place-items:center}.panel-link:hover{opacity:1}.panel-link h2{transition:transform 250ms var(--ease-out)}.panel-link:hover h2{transform:scale(1.025)}.home #footer{position:fixed;left:var(--gutter);right:var(--gutter);bottom:28px;z-index:20;padding:0;font-size:16px;line-height:1.4;display:flex;gap:30px;align-items:end}.contact-block{display:flex;flex-direction:column}.scroll-button{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:16px;padding:10px 0;opacity:.7}.mouse{width:16px;height:24px;border:1px solid currentColor;border-radius:12px;position:relative}.mouse:after{content:'';position:absolute;left:6px;top:4px;width:2px;height:5px;background:currentColor;animation:wheel 1.8s infinite}@keyframes wheel{to{transform:translateY(8px);opacity:0}}main{padding:87px var(--gutter) 0;min-height:80vh}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 16px}.project-card figure{margin:0;position:relative;overflow:hidden;aspect-ratio:3/4;background:#d7cec8}.project-card img{height:100%;object-fit:cover;filter:grayscale(1) sepia(.22);transition:filter .4s,transform .7s}.project-card:hover{opacity:1}.project-card:hover img{filter:none;transform:scale(1.02)}.project-card figcaption{display:flex;justify-content:space-between;margin-top:10px;font-size:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page-footer{margin:80px var(--gutter) 0;border-top:1px solid var(--line);padding:28px 0;font-size:16px;display:flex;justify-content:space-between;gap:24px}.footer-wordmark{font-size:clamp(70px,16vw,250px);letter-spacing:-.065em;line-height:1.15;grid-column:1/-1}.footer-links{display:flex;flex-direction:column}.detail-title{font-size:clamp(48px,8vw,140px);letter-spacing:-.055em;line-height:1;margin:8px 0 32px}.detail-cover{height:78vh;object-fit:cover}.detail-copy{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding:48px 0 64px}.detail-copy p{font-size:clamp(26px,3.7vw,54px);line-height:1.13;letter-spacing:-.03em}.detail-meta{font-size:18px;line-height:1.6}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-gallery img{height:70vh;object-fit:cover}.next-project{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;margin-top:60px;font-size:36px}.office-layout{display:grid;grid-template-columns:1fr 2fr;gap:32px}.office-nav{position:sticky;top:80px;height:calc(100svh - 120px);display:flex;flex-direction:column;align-items:stretch;padding-right:90px;font-size:24px}.office-nav a{padding:12px 0;border-top:1px solid var(--line)}.office-nav a:first-child{padding-top:0;border:0;margin-bottom:auto}.office-section{scroll-margin-top:85px;margin-bottom:72px}.office-section h1,.archive-intro{font-size:clamp(34px,4.35vw,72px);letter-spacing:-.035em;line-height:1.09;margin-bottom:32px}.office-section p{font-size:24px;line-height:1.45;margin-top:24px}.office-section h2{border-top:1px solid var(--line);padding-top:20px;margin-bottom:24px;font-size:36px}.team{display:grid;grid-template-columns:1fr 1fr;gap:24px}.team h3{font-size:24px;margin-top:12px}.team p{font-size:16px;margin:4px 0}.services{columns:2;list-style:none;padding:0;line-height:1.7}.process-step{display:grid;grid-template-columns:40px 1fr;border-top:1px solid var(--line);padding:20px 0}.process-step p{margin:0;font-size:20px}.archive-intro{max-width:1500px}.archive-note{font-size:16px;line-height:1.4;margin:64px 0 28px}.archive-note a{text-decoration:underline}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 16px;border-top:1px solid var(--line);padding-top:28px}.archive-card img{aspect-ratio:3/4;object-fit:cover;filter:sepia(.15)}.archive-card h2{font-size:24px;margin:16px 0}.archive-card dl{font-size:16px;display:grid;grid-template-columns:80px 1fr;gap:5px;margin:0}.archive-card dd{margin:0}.archive-card .inquire{display:block;border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-size:16px}.mobile-label{display:none}

@media(max-width:800px){:root{--gutter:20px}.site-header{height:62px;font-size:21px;padding:12px 20px}.menu-toggle{display:block;padding:8px 0;min-height:44px}.site-header nav{display:none}.menu-open{overflow:hidden}.menu-open .site-header{background:var(--paper);color:var(--ink)}.menu-open .site-header nav{display:flex;position:fixed;inset:62px 0 0;flex-direction:column;align-items:start;justify-content:center;padding:32px;background:var(--paper);gap:24px}.menu-open .site-header nav a{font-size:44px;line-height:1.2}.panel{min-height:500px}.panel h1,.panel h2{font-size:13vw;line-height:.97;width:calc(100% - 32px);letter-spacing:-.055em}.panel h1 span{max-width:100%}.home #footer{bottom:20px;left:20px;right:20px;font-size:13px;gap:24px}.scroll-button{font-size:0}.scroll-button .mouse{width:15px;height:23px}.home #footer .contact-block{max-width:47%}.project-grid{gap:28px 12px}.project-card figcaption{font-size:18px}main{padding-top:82px}.page-footer{flex-wrap:wrap;font-size:14px;margin-top:48px}.office-layout{display:block}.office-nav{height:auto;position:static;flex-direction:row;flex-wrap:wrap;gap:12px;padding:0;margin:0 0 28px;font-size:16px}.office-nav a,.office-nav a:first-child{border:0;margin:0;padding:8px 0}.office-section p{font-size:20px}.detail-copy{grid-template-columns:1fr;padding:28px 0}.detail-cover{height:55vh}.detail-gallery img{height:45vh}.next-project{font-size:24px}.archive-grid{grid-template-columns:repeat(2,1fr)}.archive-note{margin-top:32px}.archive-card dl{grid-template-columns:1fr}.archive-card dt{opacity:.7;margin-top:4px}}
@media(max-width:480px){.project-grid{grid-template-columns:1fr}.project-card figure{aspect-ratio:3/4}.archive-grid{grid-template-columns:1fr}.archive-card dl{grid-template-columns:80px 1fr}.detail-gallery{grid-template-columns:1fr}.team{gap:16px}.team h3{font-size:20px}.services{font-size:20px}.panel h2{font-size:15vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.panel video{display:none}}
.project-card figure:after{content:'';position:absolute;inset:0;background:#ad9184;opacity:.25;pointer-events:none;transition:opacity .35s}.project-card:hover figure:after,.project-card:focus-visible figure:after{opacity:0}.project-card img{filter:grayscale(1) sepia(.18) contrast(.75) brightness(1.16)}.project-card:hover img,.project-card:focus-visible img{filter:none}
.archive-intro,.office-section h1{font-weight:500}
.page-footer{display:grid;grid-template-columns:repeat(4,1fr)}.footer-wordmark{font-weight:400}.footer-wordmark strong{font-weight:700}
.project-page main{padding:0}.project-hero{height:77svh;min-height:400px;color:var(--paper)}.project-hero h1{font-weight:500}.project-content{padding:0 var(--gutter)}.over-hero .site-header{color:var(--paper);background:transparent}.over-hero .site-header:after{display:none}.detail-copy{padding:28px 0 48px;gap:9vw;grid-template-columns:1fr 2.75fr}.detail-copy p{font-size:24px;letter-spacing:-.015em;line-height:1.22}.detail-meta{display:grid;grid-template-columns:1fr 2fr;align-content:start;margin:4px 0 0;font-size:16px;line-height:1.4}.detail-meta dt,.detail-meta dd{margin:0;border-top:1px solid var(--line);padding:6px 0}.detail-meta dt:last-of-type,.detail-meta dd:last-of-type{border-bottom:1px solid var(--line)}.project-more{font-size:16px}.project-more summary{cursor:pointer;text-decoration:underline;list-style:none;padding:8px 0}.project-more p{font-size:20px;margin:16px 0;line-height:1.45}.detail-gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.gallery-image{display:block;padding:0;grid-column:span var(--span);align-self:start}.gallery-image:hover{opacity:1}.gallery-image img{height:auto;width:100%;transition:filter .2s}.gallery-image:hover img{filter:brightness(.94)}.gallery-image{cursor:zoom-in}
.archive-photo{position:relative}.archive-enlarge{display:block;width:100%;padding:0;cursor:zoom-in}.archive-enlarge:hover{opacity:1}.archive-enlarge img{filter:grayscale(1) sepia(.2) contrast(.8) brightness(1.1);transition:filter .35s}.archive-card:hover img,.archive-enlarge:focus-visible img{filter:none}.archive-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:var(--paper);background:linear-gradient(transparent,rgba(35,25,20,.55));padding:10px 10px 4px;font-size:14px}.archive-controls button{min-width:44px;min-height:44px;font-size:32px}.archive-card h2{display:flex;justify-content:space-between;gap:10px}.sold{font-size:14px;text-transform:uppercase;padding-top:6px}.archive-card dl{grid-template-columns:1fr 2fr}.archive-card dt,.archive-card dd{border-top:1px solid #baaca5;padding-top:6px}.archive-card .inquire{padding:12px 0;min-height:44px}.gallery-open{overflow:hidden}.lightbox{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;border:0;background:var(--paper);color:var(--ink);padding:60px 70px 30px;overflow:hidden}.lightbox::backdrop{background:rgba(35,25,20,.8)}.lightbox figure{margin:0;display:flex;height:100%;flex-direction:column;align-items:center;gap:14px}.lightbox img{width:100%;height:calc(100% - 38px);object-fit:contain}.lightbox figcaption{font-size:16px;text-align:center}.lightbox-close{position:absolute;top:12px;right:20px;font-size:20px;min-height:44px}.lightbox-prev,.lightbox-next{position:absolute;top:calc(50% - 28px);font-size:48px;min-width:48px;min-height:56px}.lightbox-prev{left:12px}.lightbox-next{right:12px}
@media(min-width:1425px){.archive-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1782px){.archive-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:800px){.page-footer{grid-template-columns:1fr 1fr}.detail-copy{grid-template-columns:1fr;gap:24px}.detail-copy p{font-size:22px}.project-hero{height:75svh}.detail-meta{max-width:360px}.over-hero.menu-open .site-header{background:var(--paper);color:var(--ink)}.office-section>img{aspect-ratio:1500/844;object-fit:cover}.office-nav a{min-height:44px}.archive-card dl{grid-template-columns:1fr 2fr;font-size:14px}.archive-card h2{font-size:21px}.lightbox{padding:70px 42px 30px}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-prev,.lightbox-next{font-size:36px;min-width:40px}.footer-wordmark{font-size:16vw}.detail-gallery{gap:12px}}
@media(max-width:540px){.gallery-image{grid-column:span 6}.archive-grid{grid-template-columns:1fr}.detail-gallery{gap:16px}.team img{aspect-ratio:1;object-fit:cover}}

/* ---- The Good Space ---- */
.home{background:#3e3b30}
.panel h1,.panel h2{font-size:min(9.16vw,140px)}
.nav-cta{border:1px solid currentColor;border-radius:999px;padding:0 16px;line-height:34px!important}
.hero-copy{display:grid;justify-items:center;gap:22px;width:96%;text-align:center}.hero-copy p{font-size:24px;line-height:1.05;letter-spacing:-.02em;max-width:26em;text-wrap:balance}
.button{display:inline-flex;align-items:center;gap:8px;border:1px solid currentColor;border-radius:999px;padding:12px 22px;font-size:18px;line-height:1.2;min-height:44px;white-space:nowrap}.button:hover{opacity:1;background:var(--ink);color:var(--paper);border-color:var(--ink)}.button-light:hover{background:var(--paper);color:#3e3b30;border-color:var(--paper)}
.text-link{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin-top:20px;font-size:20px}
.text-panel{height:auto;min-height:100svh;place-items:center;padding:100px var(--gutter) 120px;color:var(--paper)}.text-panel:after{background:rgba(28,24,19,.62)}.panel-copy{width:100%;max-width:1500px;display:grid;justify-items:center;text-align:center;gap:28px}.panel-copy h2{width:100%;margin:0}.panel-copy p{font-size:24px;line-height:1.05;letter-spacing:-.01em;max-width:46em;text-wrap:pretty}.panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;text-align:left}.panel-columns p{font-size:22px;line-height:1.14}
.bookings{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:1200px;text-align:left}.booking{border:1px solid rgba(246,245,243,.55);padding:26px 28px;display:flex;flex-direction:column;gap:12px}.booking h3{font-size:32px;letter-spacing:-.03em;line-height:1}.booking-meta{font-size:18px!important;margin:0!important;opacity:.8}.booking p{font-size:20px!important;line-height:1.25!important;margin:0!important}.booking .button{margin-top:auto;align-self:start}
.rating{font-size:20px!important;letter-spacing:.02em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:1400px;text-align:left}.review-grid figure{margin:0;border:1px solid rgba(246,245,243,.55);padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.review-grid blockquote{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.015em}.review-grid figcaption{font-size:16px;opacity:.8}
.follow-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 24px;width:100%}.subscribe-form{display:flex;gap:10px;max-width:520px;flex:1 1 380px}.subscribe-form input{flex:1;font:inherit;font-size:18px;padding:10px 18px;border:1px solid rgba(246,245,243,.55);border-radius:999px;background:transparent;color:inherit;min-width:0}.subscribe-form input::placeholder{color:inherit;opacity:.6}.panel-legal{font-size:16px!important;opacity:.75;margin-top:12px}.panel-contacts{display:none}.home #footer{transition:opacity .3s}.panel-legal a{text-decoration:underline;text-underline-offset:3px}
.section-photo{aspect-ratio:3/2;object-fit:cover;margin:8px 0 12px}.office-section h2 .subtitle{display:block;font-size:20px;opacity:.75;margin-top:6px}.process-step{grid-template-columns:28px 1fr;align-items:start}.process-step h3{font-size:24px}.process-step p{margin-top:6px!important;font-size:18px!important}.office-section .bookings{margin:24px 0 28px;color:var(--ink);text-align:left;max-width:none}.office-section .booking{border-color:var(--line)}.office-section .button{margin-top:8px}
.filter{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:18px;margin:-8px 0 28px}.filter a{padding:6px 0;border-bottom:1px solid transparent}.filter a[aria-current=page]{border-bottom-color:currentColor;font-weight:500}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 16px;border-top:1px solid var(--line);padding-top:28px}.gallery-card{margin:0}.gallery-card.wide{grid-column:span 2}.gallery-enlarge{display:block;width:100%;padding:0;cursor:zoom-in;background:#e6dfd8}.gallery-enlarge:hover{opacity:1}.gallery-enlarge img{aspect-ratio:3/4;object-fit:cover;transition:filter 200ms ease}.gallery-card.wide img{aspect-ratio:3/2}.gallery-enlarge:hover img,.gallery-enlarge:focus-visible img{filter:brightness(.94)}.gallery-card figcaption{display:flex;justify-content:space-between;gap:12px;font-size:16px;margin-top:10px}.gallery-card figcaption span:last-child{opacity:.6}
.blog-list{border-top:1px solid var(--line)}.blog-card{border-bottom:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:1fr 2.75fr;gap:4px 9vw;align-content:start}.blog-card h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;line-height:1.1;grid-column:2}.blog-card h2 a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}.blog-card>p{grid-column:2;font-size:20px;line-height:1.45;margin-top:12px}.blog-card .text-link{grid-column:2;margin-top:12px;font-size:18px}.blog-meta{grid-column:1;grid-row:1/4;font-size:16px;line-height:1.5;opacity:.75}
.back-link{display:inline-block;font-size:18px;margin-bottom:24px}.post-title{max-width:16em;margin-bottom:12px}.post-body{max-width:38em;padding:32px 0 16px;font-size:22px;line-height:1.45}.post-body p{margin:0 0 22px}.post-body h3{font-size:26px;margin:36px 0 10px;letter-spacing:-.02em}.post-contact{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;font-size:18px}.post-contact a{text-decoration:underline;text-underline-offset:4px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-top:8px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form h2,.contact-details h2{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.03em;line-height:1.15;margin-bottom:8px;text-wrap:balance}.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:16px}.contact-form input,.contact-form textarea{font:inherit;font-size:20px;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-bottom-color:currentColor}.contact-form .button{align-self:start}.form-note{font-size:14px;opacity:.7}
.contact-details{display:flex;flex-direction:column;gap:24px}.contact-details .button{align-self:start}.contact-details h3{font-size:24px}.contact-details .detail-meta{font-size:18px;margin:0}.contact-details .detail-meta a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1425px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.nav-cta{border:0;padding:0}.hero-copy{gap:16px}.hero-copy p{font-size:18px;line-height:1.15}.button{font-size:16px;padding:10px 18px}.text-panel{padding:90px var(--gutter) 130px;min-height:auto}.panel-copy{gap:20px}.panel-copy p{font-size:19px;line-height:1.2}.panel-columns{grid-template-columns:1fr;gap:12px}.panel-columns p{font-size:18px;line-height:1.3}.bookings,.review-grid,.contact-layout{grid-template-columns:1fr;gap:12px}.booking{padding:20px}.booking h3{font-size:26px}.booking p{font-size:17px!important}.review-grid blockquote{font-size:19px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card.wide{grid-column:span 2}.blog-card{grid-template-columns:1fr;gap:8px}.blog-card h2,.blog-card>p,.blog-card .text-link{grid-column:1}.blog-meta{grid-row:auto}.post-body{font-size:20px}.home.menu-open .site-header{background:var(--paper);color:var(--ink)}.subscribe-form{flex:1 1 100%}.panel-legal{font-size:14px!important}.home.past-panels #footer{opacity:0;pointer-events:none}.panel-contacts{display:flex!important;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:16px!important;margin-top:8px}}
@media(max-width:540px){.gallery-grid{grid-template-columns:1fr}.gallery-card.wide{grid-column:span 1}.panel h1{font-size:14vw}.subscribe-form{flex-direction:column}.subscribe-form .button{align-self:start}}

/* ---- motion (dsgninterior.se behaviour) ---- */
:root{--expo-out:cubic-bezier(.16,1,.3,1);--power3-out:cubic-bezier(.215,.61,.355,1);--ease-io:ease-in-out}
html{scroll-behavior:auto}
.site-header{background:transparent;isolation:isolate;transition:color .3s var(--ease-io)}.site-header:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--line),var(--line)) center bottom/calc(100% - var(--gutter)*2) 1px no-repeat var(--paper);transition:transform .3s var(--expo-out)}.site-header:after{display:none!important}.home.over-hero .site-header:before,.home.over-hero .site-header:after{transform:translateY(calc(-100% - 1px));display:block}
.panel>img,.panel>video{opacity:0;transition:opacity .3s var(--ease-io)}.panel>img.loaded,.panel>video.loaded{opacity:1}.gallery-enlarge img,.section-photo img,.team img{opacity:0;transition:opacity .3s var(--ease-io),filter 200ms ease}.gallery-enlarge img.loaded,.section-photo img.loaded,.team img.loaded{opacity:1}
.panel>img,.panel>video,.panel-link,.hero-copy,.panel-copy,.split{will-change:transform}.split{display:block}.line{display:block}
.welcome main,.welcome .site-header,.welcome #footer{opacity:0}.welcome #opening .line{opacity:0}
#opening h1{cursor:pointer}
.scroll-button{display:grid;justify-items:center;gap:2px;font-size:16px;opacity:.6;padding:0;position:relative}.scroll-dot{display:block;height:1em;line-height:1;animation:scroll-indicator 2s ease infinite}@keyframes scroll-indicator{0%{transform:translateY(-18%);opacity:0}33%{transform:translateY(-10%);opacity:1}66%{opacity:1}100%{transform:translateY(25%);opacity:0}}
.page-overlay{position:fixed;inset:0;z-index:200;background:var(--ink);opacity:0;pointer-events:none}
.parallax{overflow:hidden}.parallax img{transform:translate3d(0,var(--py,0%),0) scale(1.1);will-change:transform}.section-photo{aspect-ratio:3/2;margin:8px 0 12px}.section-photo img{height:100%;object-fit:cover}.gallery-enlarge{aspect-ratio:3/4}.gallery-card.wide .gallery-enlarge{aspect-ratio:3/2}.gallery-enlarge img{height:100%;aspect-ratio:auto}
.page-footer{will-change:transform,opacity}
@media(max-width:800px){.site-header nav{display:flex;position:fixed;inset:62px 0 0;flex-direction:column;align-items:start;justify-content:center;padding:32px;gap:24px;background:none;visibility:hidden;transition:visibility 0s .8s;color:var(--paper);z-index:-1}.site-header nav:before{content:'';position:absolute;inset:-62px 0 0;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .75s var(--power3-out);z-index:-1}.site-header nav a{font-size:44px;line-height:1.2;opacity:0;transition:opacity .6s var(--power3-out)}.site-header nav a span{display:block;transform:translateY(-5px);transition:transform .6s var(--power3-out)}.menu-open .site-header nav{visibility:visible;transition-delay:0s}.menu-open .site-header nav:before{transform:scaleY(1)}.menu-open .site-header nav a{opacity:1;transition-delay:calc(.075s + var(--i,0)*.075s)}.menu-open .site-header nav a span{transform:none;transition-delay:calc(.075s + var(--i,0)*.075s)}.menu-open .site-header,.home.over-hero.menu-open .site-header{background:transparent;color:var(--paper)}.menu-open .site-header:before,.menu-open .site-header:after{transform:translateY(calc(-100% - 1px))}.menu-open{overflow:hidden}.site-header nav .nav-cta{border:0;padding:0}.scroll-button{font-size:0}.scroll-button .scroll-dot{font-size:16px}}
@media(prefers-reduced-motion:reduce){.panel>img,.panel>video,.gallery-enlarge img,.section-photo img,.team img{opacity:1}.welcome main,.welcome .site-header,.welcome #footer,.welcome #opening .line{opacity:1}.parallax img{transform:none}}

/* ---- logo + forms ---- */
.brand{display:block;height:50px;width:57px;padding:0}.brand .logo{display:block;width:100%;height:100%;background:currentColor;-webkit-mask:url(/assets/gs-logo.png) left center/contain no-repeat;mask:url(/assets/gs-logo.png) left center/contain no-repeat}.footer-wordmark{font-family:Cera,Arial,sans-serif}
.honey{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-status{font-size:16px;line-height:1.4;min-height:1.4em;margin:0}.form-status:empty{display:none}.form-status.is-error{color:#b3261e}.subscribe-form{flex-wrap:wrap}.subscribe-form .form-status{flex-basis:100%;text-align:left}.text-panel .form-status.is-error{color:#ffb4a8}
@media(max-width:800px){.brand{height:44px;width:50px}}

/* ---- pressable elements (design-engineering pass) ---- */
:root{--ease-out:cubic-bezier(.23,1,.32,1)}
a,button{transition:opacity 150ms ease}
.button{transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 160ms var(--ease-out),opacity 150ms ease}.button:active{transform:scale(.97)}.button[disabled]{cursor:progress}
.button-content{display:inline-block;transition:filter 200ms ease,opacity 200ms ease}.is-sending .button-content{filter:blur(2px);opacity:.7}
.nav-cta{transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 160ms var(--ease-out)}.nav-cta:active{transform:scale(.97)}
.scroll-button{transition:opacity 150ms ease,transform 160ms var(--ease-out)}.scroll-button:active{transform:scale(.97)}
.menu-toggle{position:relative;place-items:center;min-width:56px;transition:transform 160ms var(--ease-out)}@media(max-width:800px){.menu-toggle{display:grid}}.menu-toggle:active{transform:scale(.96)}.menu-toggle span{grid-area:1/1;transition:opacity 200ms ease,transform 200ms var(--ease-out)}.menu-toggle .toggle-close{opacity:0;transform:translateY(-5px)}.menu-open .menu-toggle .toggle-open{opacity:0;transform:translateY(5px)}.menu-open .menu-toggle .toggle-close{opacity:1;transform:none}
.gallery-enlarge{transition:transform 160ms var(--ease-out)}.gallery-enlarge:active{transform:scale(.99)}
.lightbox-close,.lightbox-prev,.lightbox-next{opacity:.75;transition:opacity 150ms ease,transform 160ms var(--ease-out)}.lightbox-close:active,.lightbox-prev:active,.lightbox-next:active{transform:scale(.95)}
.filter a{transition:border-color 200ms ease,opacity 150ms ease}.text-link,.back-link,.next-project,.inquire,.panel-link{transition:opacity 150ms ease}
.form-status{opacity:1;transform:none;transition:opacity 250ms ease,transform 250ms var(--ease-out)}@starting-style{.form-status{opacity:0;transform:translateY(-4px)}}
@media(hover:hover) and (pointer:fine){a:hover,button:hover{opacity:.8}.button:hover,.panel-link:hover,.gallery-enlarge:hover,.project-card:hover,.nav-cta:hover,.scroll-button:hover,.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,.menu-toggle:hover,.archive-enlarge:hover{opacity:1}.nav-cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.over-hero .nav-cta:hover,.menu-open .nav-cta:hover{background:var(--paper);color:#3e3b30;border-color:var(--paper)}}
@media(hover:none){.button:hover,.button-light:hover{background:transparent;color:inherit;border-color:currentColor}.panel-link:hover h2{transform:none}.gallery-enlarge:hover img{filter:none}.project-card:hover img{filter:grayscale(1) sepia(.18) contrast(.75) brightness(1.16);transform:none}.project-card:hover figure:after{opacity:.25}.blog-card h2 a:hover{text-decoration:none}}
@media(prefers-reduced-motion:reduce){.button:active,.nav-cta:active,.scroll-button:active,.menu-toggle:active,.gallery-enlarge:active,.lightbox-close:active,.lightbox-prev:active,.lightbox-next:active{transform:none}.form-status{transform:none}}

/* ---- polish: hover arrows, nav pill, about copy, booking cards ---- */
.button,.text-link{position:relative}.button{padding-right:22px;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 160ms var(--ease-out),opacity 150ms ease,padding 220ms var(--ease-out)}
.arrow{display:inline-block;width:auto;overflow:visible;opacity:0;transform:translateX(-8px);transition:opacity 200ms ease,transform 220ms var(--ease-out);white-space:nowrap;font-size:1.25em;line-height:1}.button .arrow{position:absolute;right:18px;top:50%;margin-top:-.5em;pointer-events:none}.text-link .arrow{position:absolute;left:100%;top:50%;margin:-.5em 0 0 4px}
@media(hover:hover) and (pointer:fine){.button:has(.arrow):hover{padding-right:46px}.button:hover .arrow,.text-link:hover .arrow{opacity:1;transform:none}}
.nav-cta{padding:0 24px;line-height:40px!important;font-size:21px;letter-spacing:-.3px;margin-left:8px}
.panel-copy .lead{font-size:clamp(20px,1.8vw,26px);line-height:1.2;max-width:34em}.pillars{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;font-size:16px;letter-spacing:.02em;text-transform:uppercase}.pillars li{border:1px solid rgba(246,245,243,.55);border-radius:999px;padding:8px 16px}
.about-more{display:grid;grid-template-rows:0fr;width:100%;transition:grid-template-rows 400ms var(--ease-out)}.about-more>div{overflow:hidden}.about-more .panel-columns{padding:8px 0 4px}.about-more.open{grid-template-rows:1fr}.about-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
#book .panel-copy{gap:40px}.bookings{gap:24px}.booking{padding:34px 36px;gap:14px}.booking h3{margin-bottom:2px}.booking p{line-height:1.3!important}.booking .button{margin-top:18px}
@media(max-width:800px){.nav-cta{padding:0;line-height:1.2!important;font-size:44px;margin:0}.pillars{font-size:14px}.bookings{gap:16px}.booking{padding:24px}#book .panel-copy{gap:28px}}
@media(prefers-reduced-motion:reduce){.about-more{transition:none}.arrow{transition:none}}
.text-link{width:max-content;max-width:100%;justify-self:start}
.text-link .arrow{font-size:1em;margin-left:6px}
