@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f4f1eb;--ink:#262d31;--mute:#6c7375;--line:#c9c9c4;--blue:#9bb6bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{opacity:.7}button{font:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;padding:15px;z-index:100}.site-header{display:flex;align-items:center;gap:35px;padding:24px 4vw;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.logo{min-width:140px;line-height:1.1;display:flex;flex-direction:column}.logo span{font-family:Georgia,serif;letter-spacing:.23em;font-size:19px}.logo small{font-size:10px;letter-spacing:.18em;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:21px;margin-left:auto}.site-header nav a{font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding-bottom:4px}.site-header nav .active{border-bottom:1px solid var(--ink)}.language{display:flex;gap:7px;white-space:nowrap;font-size:12px}.language a:not([aria-current]){color:#919594}.menu-toggle{display:none}main{overflow:hidden}.home-hero{padding:72px 4vw 0}.eyebrow,.overline{font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:var(--mute)}h1,h2,h3{font-weight:400;font-family:'Libre Caslon Display',Georgia,serif;line-height:1.04}h1{font-size:clamp(80px,13vw,220px);letter-spacing:-.045em;margin:20px 0 8px}h1 i,.foot-brand i{font-weight:400}h1 small{font:400 clamp(18px,2vw,29px) 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;vertical-align:top}.hero-text{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(24px,3vw,45px);margin:22px 0 40px}.photo{margin:0;position:relative;background:#d9dedb;overflow:hidden;min-height:280px}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo figcaption{font-size:11px;letter-spacing:.12em;color:#526065;position:absolute;bottom:22px;left:25px;text-transform:uppercase}.photo:not(.empty) figcaption{background:rgba(244,241,235,.85);padding:8px 12px}.photo.empty:before,.photo.empty:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#c3ccca;transform:rotate(10deg)}.photo.empty:after{transform:rotate(-10deg)}.hero-photo{height:min(55vw,700px)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:35px 0 70px}.hero-bottom p{font-size:19px;max-width:660px;line-height:1.65}.underlink{display:inline-block;border-bottom:1px solid currentColor;padding:0 0 8px;white-space:nowrap;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.three-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:33px 4vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.three-facts>div{display:flex;flex-direction:column;gap:9px;border-right:1px solid var(--line);padding-left:40px}.three-facts>div:first-child{padding-left:0}.three-facts>div:last-child{border:0}.three-facts span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}.three-facts strong{font:400 30px 'Libre Caslon Display',Georgia,serif}.editorial{padding:130px 4vw}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.split .photo{height:680px}.editorial h2,.closing h2{font-size:clamp(58px,6vw,108px);letter-spacing:-.025em;margin:25px 0 30px}.editorial p{max-width:530px;font-size:19px;line-height:1.8;margin-bottom:35px}.rotation{height:310vh;background:#e5e9e7;position:relative}.rotation-sticky{position:sticky;top:0;height:100vh;min-height:560px;padding:30px 4vw;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.rotation-top,.rotation-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:.15em}.rotation-sticky h2{font-size:clamp(40px,5vw,88px);text-align:center;margin:15px 0}.rotation-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;position:relative}.rotation-stage img{max-width:100%;max-height:100%;object-fit:contain;z-index:1}.rotation-placeholder{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.rotation-placeholder span{letter-spacing:.7em;font-size:13px}.rotation-placeholder b{font:400 clamp(90px,15vw,230px) 'Libre Caslon Display',serif;line-height:1}.rotation-placeholder small{max-width:390px;font-size:12px;letter-spacing:.04em}.rotation-bottom .progress{height:1px;background:#afb9b8;flex:1}.progress-fill{height:2px;width:0;background:#31474f}.closing{background:#25373b;color:#f3f0ea;padding:150px 4vw;min-height:530px}.closing h2{max-width:1000px}.closing p{font-family:'Libre Caslon Display',serif;font-size:48px}.closing p small{font:14px 'DM Sans',sans-serif}.button{display:inline-block;border:1px solid currentColor;padding:14px 22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.page-intro{padding:100px 4vw 75px;max-width:1260px}.page-intro h1{font-size:clamp(65px,9vw,150px);margin:28px 0 35px}.page-intro p{font-family:'Libre Caslon Display',serif;font-size:clamp(24px,2.8vw,39px);max-width:770px}.feature-photo{height:60vw;max-height:780px;margin:0 4vw}.stories{padding:100px 4vw 150px;max-width:1100px;margin:auto}.story{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid var(--line);padding:34px 0 62px}.story>span{font-size:12px;color:var(--mute)}.story h2{font-size:clamp(35px,4vw,60px);margin:0 0 20px}.story p{font-size:18px;max-width:750px;line-height:1.85}.spec{padding:90px 4vw 140px;background:#e9e8e1}.spec h2{font-size:65px}.spec dl{max-width:840px}.spec dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0}.spec dt{color:var(--mute)}.spec dd{margin:0}.gallery-grid{padding:0 4vw 140px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-grid .photo{height:400px}.gallery-grid .photo:nth-child(4n+1){grid-row:span 2;height:auto}.contact-detail{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding:40px 4vw 180px}.large-price{font:80px 'Libre Caslon Display',serif}.contact-detail p{max-width:440px;font-size:19px}.contact-detail .small-note{font-size:12px;color:var(--mute);margin-top:23px}.compact{min-height:300px;padding:80px 4vw}.compact h2{font-size:65px}footer{padding:80px 4vw 30px;display:grid;grid-template-columns:1fr 1fr;gap:20px;color:var(--mute);font-size:12px;border-top:1px solid var(--line)}footer .foot-brand{font:40px 'Libre Caslon Display',serif;color:var(--ink)}footer .credits,footer .disclaimer{font-size:11px}footer>span{grid-column:span 2;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:center;gap:18px}.language{margin-left:auto}}@media(max-width:700px){.site-header{padding:19px 5vw;gap:14px}.logo{min-width:0}.logo span{font-size:16px}.logo small{font-size:8px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:11px}.site-header nav{display:none;order:4;flex-direction:column;align-items:stretch;padding:20px 0;margin:0;gap:15px}.site-header nav.open{display:flex}.language{margin-left:0}.home-hero{padding:48px 5vw 0}h1{font-size:clamp(65px,17vw,120px)}h1 small{font-size:14px}.hero-photo{height:70vw;min-height:300px}.hero-bottom{flex-direction:column;align-items:start}.hero-bottom p{font-size:16px}.three-facts{padding:25px 5vw}.three-facts>div{padding-left:14px}.three-facts strong{font-size:20px}.three-facts span{font-size:9px}.editorial{padding:80px 5vw}.split{grid-template-columns:1fr;gap:45px}.split .photo{height:85vw}.reverse .photo{order:2}.editorial h2,.closing h2{font-size:58px}.rotation{height:225vh}.rotation-sticky{padding:24px 5vw;min-height:470px}.rotation-top,.rotation-bottom{font-size:9px}.rotation-sticky h2{font-size:45px}.rotation-placeholder b{font-size:105px}.rotation-placeholder small{font-size:10px}.closing{padding:90px 5vw}.closing p{font-size:36px}.page-intro{padding:60px 5vw 55px}.page-intro h1{font-size:66px}.page-intro p{font-size:25px}.feature-photo{height:85vw;margin:0 5vw}.stories{padding:60px 5vw 100px}.story{grid-template-columns:40px 1fr}.story h2{font-size:36px}.story p{font-size:16px}.gallery-grid{padding:0 5vw 70px;gap:9px}.gallery-grid .photo{height:220px}.contact-detail{grid-template-columns:1fr;padding:10px 5vw 100px}.large-price{font-size:60px}.spec{padding:70px 5vw}.spec h2{font-size:43px}footer{padding:65px 5vw 20px;grid-template-columns:1fr}footer>span{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Authentic photographs retain their complete composition at every breakpoint. */
.photo{background:transparent;min-height:0;overflow:visible}
.photo img{width:100%;height:auto;object-fit:contain}
.photo figcaption,.photo:not(.empty) figcaption{position:static;background:none;padding:12px 0 0;color:var(--mute);font-size:11px;line-height:1.6;letter-spacing:.035em;text-transform:none}
.hero-photo,.split .photo,.feature-photo{height:auto;max-height:none}
.hero-photo .photo figcaption{max-width:700px}
.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw}
.split.reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.exterior-study{padding:90px 4vw;background:#e5e9e7}
.section-heading{max-width:800px;margin-bottom:45px}
.section-heading h2{font-size:clamp(48px,5vw,90px);font-weight:400;letter-spacing:-.025em;margin:22px 0}
.section-heading p{font-size:18px;color:var(--mute)}
.photo-pair,.archive-sequence,.detail-sequence{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4vw;align-items:start}
.exterior-study>.underlink,.interior-study>.underlink{margin-top:35px}
.interior-study .photo-pair .photo:last-child{margin-top:90px}
.archive-sequence,.detail-sequence{padding:0 4vw 110px;max-width:1350px;margin:auto}
.detail-sequence{grid-template-columns:1fr 1fr;gap:8vw;max-width:1100px}
.detail-sequence .photo:last-child{margin-top:90px}
.archive-single{max-width:1100px;padding:0 4vw 100px;margin:auto}
.story .photo,.story .photo-pair{margin-top:35px}
.story .photo-pair .photo{margin-top:0}
.enquiry-photo{padding:0 4vw 65px;max-width:1100px}
.gallery-index{display:flex;gap:18px 30px;flex-wrap:wrap;margin:0 4vw 70px;padding:22px 0;border-block:1px solid var(--line)}
.gallery-index a{font-size:12px;letter-spacing:.07em}
.gallery-section{scroll-margin-top:30px;padding:0 4vw 80px}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0 35px}
.gallery-heading h2{font-size:48px;margin:0}
.gallery-heading span{font-size:11px;letter-spacing:.08em;color:var(--mute)}
.gallery-grid{padding:0;gap:50px 4vw;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-grid .photo,.gallery-grid .photo:nth-child(4n+1){height:auto;grid-row:auto}
.gallery-link{display:block;cursor:zoom-in}
.gallery-link:hover{opacity:1}
.gallery-link:hover img{outline:1px solid var(--blue);outline-offset:5px}
.gallery-link:focus-visible,button:focus-visible,.gallery-index a:focus-visible{outline:2px solid #506c74;outline-offset:5px}
.lightbox-open{overflow:hidden}
.lightbox{width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border:0;padding:20px 3vw;background:#192327;color:var(--paper)}
.lightbox[open]{display:flex;flex-direction:column;gap:12px}
.lightbox::backdrop{background:rgba(15,23,27,.95)}
.lightbox-bar,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:25px}
.lightbox-count{font-size:12px;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lightbox button{background:transparent;border:1px solid #829296;color:inherit;cursor:pointer;min-width:48px;min-height:48px;padding:8px 14px}
.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center;flex:1;min-height:0}
.lightbox-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom}
.lightbox-caption{font-size:13px;max-width:750px;margin:5px 0}
.lightbox-original{font-size:12px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@media(max-width:700px){
  .split,.split.reverse{grid-template-columns:minmax(0,1fr);gap:40px}
  .exterior-study{padding:70px 5vw}
  .photo-pair,.archive-sequence{grid-template-columns:minmax(0,1fr);gap:35px}
  .interior-study .photo-pair .photo:last-child,.detail-sequence .photo:last-child{margin-top:0}
  .archive-sequence,.detail-sequence,.archive-single{padding:0 5vw 70px}
  .detail-sequence{gap:5vw}
  .gallery-index{margin:0 5vw 50px;gap:15px 22px}
  .gallery-section{padding:0 5vw 55px}
  .gallery-heading h2{font-size:38px}
  .gallery-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .enquiry-photo{padding:0 5vw 45px}
  .lightbox{padding:12px 4vw max(16px,env(safe-area-inset-bottom))}
  .lightbox-stage{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;grid-template-rows:minmax(0,1fr) 48px}
  .lightbox-image{grid-column:1 / -1;grid-row:1}
  .lightbox-prev{grid-column:1;grid-row:2}
  .lightbox-next{grid-column:3;grid-row:2}
  .lightbox-footer{flex-direction:column;align-items:start;gap:10px}
  .lightbox-caption{font-size:12px}
}
/* Long Swedish headings must stay inside the narrower editorial column. */
.split h2{font-size:clamp(42px,4.3vw,78px);overflow-wrap:break-word;hyphens:auto}
h1,h2{overflow-wrap:break-word;hyphens:auto}

/* Homepage title and subtitle follow a compact, natural editorial flow. */
.home-hero{padding-top:clamp(32px,4vw,56px)}
.home-hero h1{font-size:clamp(48px,9vw,144px);line-height:1.05;letter-spacing:-.035em;margin:16px 0 0}
.home-hero h1 small{display:block;font-size:clamp(12px,1.25vw,18px);line-height:1.5;vertical-align:baseline;margin-top:26px}
.home-hero .hero-text{font-size:clamp(22px,2.3vw,34px);margin:20px 0 28px}
.home-hero .hero-bottom{padding:24px 0 40px}

/* Source material expands in place using native, keyboard-accessible disclosures. */
.hero-copy{max-width:660px;min-width:0}
.read-more{border-top:1px solid var(--line);margin:26px 0 0;max-width:770px}
.read-more summary{cursor:pointer;padding:15px 0;font-size:13px;line-height:1.6;min-height:48px}
.read-more summary span{color:var(--mute)}
.read-more summary:focus-visible{outline:2px solid #506c74;outline-offset:4px}
.read-more-body{padding:2px 0 12px}
.read-more-body p,.page-intro .read-more-body p,.editorial .read-more-body p{font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.85;max-width:750px;margin:0 0 20px}
.read-more-body p:last-child{margin-bottom:0}
.price-amount{white-space:nowrap}
@media(max-width:700px){.read-more-body p,.page-intro .read-more-body p,.editorial .read-more-body p{font-size:16px}}
.source-facts{font-size:15px;line-height:1.65;margin:24px 0}
.source-facts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border-top:1px solid var(--line);padding:12px 0}
.source-facts dd{margin:0;white-space:nowrap}
