*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}header,main,footer{max-width:1200px;margin:auto}header{padding:35px 24px 18px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;opacity:.65}h1{font-size:clamp(27px,4vw,54px);line-height:1.1;margin:12px 0}h2{font-size:24px;margin:0 0 16px}h3{margin:18px 0 8px}.price{font-size:clamp(27px,3vw,42px);font-weight:850;color:var(--accent)}.intro{font-size:17px;opacity:.8}main{padding:20px 24px 60px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.gallery a{height:190px;overflow:hidden;border-radius:var(--radius)}.gallery a:first-child{grid-column:span 2;grid-row:span 2;height:390px}.gallery a:nth-child(2),.gallery a:nth-child(3){height:190px}.gallery a:nth-child(4){height:190px}.gallery img{transition:transform .25s}.gallery a:hover img{transform:scale(1.04)}.details{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{background:var(--panel);padding:27px;border-radius:var(--radius);box-shadow:var(--shadow);border:var(--line)}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:18px}.contact a.email{overflow-wrap:anywhere;font-weight:700;color:var(--accent)}.cta{display:inline-block;margin-top:18px;background:var(--accent);color:var(--button);padding:13px 20px;border-radius:9px;text-decoration:none;font-weight:700}.tag{display:inline-block;padding:6px 12px;background:var(--panel);border-radius:30px;margin:5px 6px 0 0}.footer{padding:12px 24px 35px;opacity:.65;font-size:12px}body.layout-1 header{text-align:center}body.layout-2 header{border-left:9px solid var(--accent);margin-top:22px}body.layout-2 .gallery{grid-template-columns:repeat(2,1fr)}body.layout-2 .gallery a,body.layout-2 .gallery a:first-child{grid-column:auto;grid-row:auto;height:280px}body.layout-3 main{display:flex;flex-direction:column-reverse}body.layout-3 .gallery{margin-top:22px}body.layout-4 .gallery{grid-template-columns:repeat(3,1fr)}body.layout-4 .gallery a:first-child{grid-column:span 3;grid-row:auto;height:420px}body.layout-4 .gallery a:not(:first-child){height:160px}body.layout-5 header{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}body.layout-5 header .eyebrow,body.layout-5 header .intro{grid-column:1/-1}body.layout-5 .price{grid-column:2;grid-row:2}body.layout-5 h1{grid-column:1;grid-row:2}body.layout-6 .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}body.layout-6 .gallery a,body.layout-6 .gallery a:first-child{flex:0 0 65%;height:380px;scroll-snap-align:center}body.layout-7 .details{grid-template-columns:1fr}body.layout-7 .gallery a:first-child{grid-column:span 4;grid-row:auto;height:440px}body.layout-7 .gallery a:not(:first-child){height:150px}body.layout-8 header{background:var(--panel);max-width:none;padding-left:max(24px,calc((100vw - 1152px)/2));padding-right:max(24px,calc((100vw - 1152px)/2))}body.layout-8 .gallery{grid-template-columns:repeat(2,1fr)}body.layout-8 .gallery a,body.layout-8 .gallery a:first-child{grid-column:auto;grid-row:auto;height:260px}body.layout-9 .details{grid-template-columns:1fr 1fr}body.layout-9 .gallery a:first-child{grid-column:span 4;grid-row:auto;height:480px}body.layout-9 .gallery a:not(:first-child){height:125px}body.layout-10 .gallery{grid-template-columns:repeat(4,1fr)}body.layout-10 .gallery a,body.layout-10 .gallery a:first-child{grid-column:auto;grid-row:auto;height:240px}body.layout-10 .details{grid-template-columns:1fr}body.layout-10 .features{grid-template-columns:repeat(3,1fr)}@media(max-width:700px){header{padding:24px 16px}main{padding:12px 16px 35px}.details,body.layout-5 header,body.layout-9 .details{display:block}.panel{margin-bottom:16px;padding:19px}.gallery,body.layout-2 .gallery,body.layout-4 .gallery,body.layout-8 .gallery,body.layout-10 .gallery{grid-template-columns:repeat(2,1fr)}.gallery a,.gallery a:first-child,body.layout-2 .gallery a,body.layout-4 .gallery a:first-child,body.layout-7 .gallery a:first-child,body.layout-8 .gallery a,body.layout-9 .gallery a:first-child,body.layout-10 .gallery a{grid-column:auto;grid-row:auto;height:145px}.gallery a:first-child{grid-column:span 2;height:230px}body.layout-6 .gallery a,body.layout-6 .gallery a:first-child{flex:0 0 90%;height:250px}.features,body.layout-10 .features{grid-template-columns:1fr 1fr}body.layout-5 .price{margin:8px 0}}