/* Rasta stationery: interlocking angular monogram and chamfered perimeter.
   Geometry traced from the owner-approved technical sheet, catalogue page 4. */
body.rasta-design{position:relative;background-color:#f4f3ef}
body.rasta-design:before{content:"";position:absolute;inset:130px 1.6% 25px;border-inline:1px solid #bfc1c6;pointer-events:none;z-index:1}
.rasta-design main{position:relative;isolation:isolate}
.rasta-design main:before{content:"";position:absolute;top:0;left:0;width:min(35vw,420px);height:420px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22r%22%20width%3D%22210%22%20height%3D%22210%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23e5e5e7%22%20d%3D%22M0%200h160v145l-35%2035V35H35v110H0z%22%2F%3E%3Cpath%20fill%3D%22%23d0d0d6%22%20d%3D%22M55%2065l35-35v145h85V65h35v110l-35%2035H55z%22%2F%3E%3Cpath%20fill%3D%22%23dedee1%22%20d%3D%22m0%200%2035-35h160l-35%2035z%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23r)%22%20d%3D%22M0%200h420v420H0z%22%2F%3E%3C%2Fsvg%3E") left top/310px;opacity:.32;mask-image:linear-gradient(135deg,#000,transparent 80%);pointer-events:none;z-index:-1}
.rasta-design .design-footer{position:relative;isolation:isolate;padding-bottom:65px}
.rasta-design .design-footer:after{content:"";position:absolute;inset:28px 3% 22px;background:#bfc0c9;clip-path:polygon(0 72%,1% 72%,1% 92%,2.5% 97%,99% 97%,99% 0,100% 3%,100% 100%,2% 100%,0 94%);pointer-events:none;z-index:-1;opacity:.8}
.rasta-design .design-footer:before{content:"";position:absolute;top:20px;left:4%;width:250px;height:270px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22r%22%20width%3D%22210%22%20height%3D%22210%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23e5e5e7%22%20d%3D%22M0%200h160v145l-35%2035V35H35v110H0z%22%2F%3E%3Cpath%20fill%3D%22%23d0d0d6%22%20d%3D%22M55%2065l35-35v145h85V65h35v110l-35%2035H55z%22%2F%3E%3Cpath%20fill%3D%22%23dedee1%22%20d%3D%22m0%200%2035-35h160l-35%2035z%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23r)%22%20d%3D%22M0%200h420v420H0z%22%2F%3E%3C%2Fsvg%3E") center/250px;opacity:.05;pointer-events:none;z-index:-1}
/* A framed photographic opening, retaining complete Rasta installation photos. */
.rasta-design.architecture-home .architecture-hero{width:96.8%;max-width:none;margin:0 auto;padding:42px 4%;gap:6%;background:#132638;color:#f6f3ed;position:relative;isolation:isolate;grid-template-columns:1fr 1.05fr;min-height:600px}
.architecture-home .architecture-hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22r%22%20width%3D%22210%22%20height%3D%22210%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23e5e5e7%22%20d%3D%22M0%200h160v145l-35%2035V35H35v110H0z%22%2F%3E%3Cpath%20fill%3D%22%23d0d0d6%22%20d%3D%22M55%2065l35-35v145h85V65h35v110l-35%2035H55z%22%2F%3E%3Cpath%20fill%3D%22%23dedee1%22%20d%3D%22m0%200%2035-35h160l-35%2035z%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23r)%22%20d%3D%22M0%200h420v420H0z%22%2F%3E%3C%2Fsvg%3E") left top/360px 360px no-repeat;opacity:.11;z-index:-1;pointer-events:none}
.architecture-home .architecture-hero:after{content:"";position:absolute;inset:20px;border:1px solid #bec4cb40;clip-path:polygon(0 0,100% 0,100% 100%,24px 100%,0 calc(100% - 24px));z-index:-1;pointer-events:none}
.architecture-home .architecture-hero-copy{max-width:570px;padding:20px 0}
.architecture-home .architecture-hero .architecture-eyebrow{color:#b9c2c7;letter-spacing:.02em}
.architecture-home .architecture-hero h1{color:#fff;font-size:clamp(36px,4.5vw,64px);font-weight:800;margin:20px 0 5px}
.architecture-home .architecture-hero .architecture-slogan{color:#e9e5db;font-size:clamp(33px,3.4vw,49px);line-height:1.65;margin-bottom:20px}
.architecture-home .architecture-hero .architecture-intro{color:#b9c4c8;max-width:410px;font-size:14px}
.architecture-home .architecture-hero .architecture-link{color:#f4eee2;border-color:#7d8c95}
.architecture-home .architecture-hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.architecture-home .architecture-hero-actions .rasta-primary-link{color:#162c3c;background:#e3d9c8;padding:12px 22px;border:1px solid #e3d9c8;font-size:13px;min-height:48px;display:inline-flex;gap:25px;align-items:center}
.architecture-home .architecture-hero-actions .rasta-primary-link:hover{background:#f8f4eb}
.architecture-home .architecture-signature{color:#c1c7cb;border-color:#546673;max-width:360px;margin-top:35px}
.architecture-home .architecture-hero-photos{max-width:590px;gap:20px;align-items:start}
.architecture-home .architecture-hero-photos figure{background:#ece9e2;padding:12px 12px 0;box-shadow:0 20px 35px #0002}
.architecture-home .architecture-primary-photo{margin-bottom:30px}
.architecture-home .architecture-hero-photos img{width:100%;height:410px;object-fit:contain}
.architecture-home .architecture-secondary-photo{margin-top:62px}
.architecture-home .architecture-secondary-photo img{height:290px}
.architecture-home .architecture-hero-photos figcaption{padding:12px 0;color:#324550}
.architecture-home .architecture-photo-note{color:#c1c8ca;border-color:#60717a}
/* Studio invitation: one clear journey from choice to a quotation. No additional renderer. */
.architecture-home .rasta-studio-invitation{width:var(--r-page);max-width:1440px;margin:65px auto 0;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:48px 4%;background:#eeece5;position:relative;isolation:isolate;border-top:1px solid #b7b9bb}
.rasta-studio-invitation:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22r%22%20width%3D%22210%22%20height%3D%22210%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23e5e5e7%22%20d%3D%22M0%200h160v145l-35%2035V35H35v110H0z%22%2F%3E%3Cpath%20fill%3D%22%23d0d0d6%22%20d%3D%22M55%2065l35-35v145h85V65h35v110l-35%2035H55z%22%2F%3E%3Cpath%20fill%3D%22%23dedee1%22%20d%3D%22m0%200%2035-35h160l-35%2035z%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23r)%22%20d%3D%22M0%200h420v420H0z%22%2F%3E%3C%2Fsvg%3E") left bottom/300px no-repeat;opacity:.4;pointer-events:none;z-index:-1}
.rasta-studio-invitation:after{content:"";position:absolute;inset:18px;background:#bfc0c9;clip-path:polygon(0 80%,.7% 80%,.7% 94%,2.5% 98.3%,99.3% 98.3%,99.3% 0,100% 2%,100% 100%,2% 100%,0 95%);pointer-events:none;z-index:-1}
.rasta-studio-invitation .studio-invite-kicker{font-size:12px;color:#686d71;display:block;margin-bottom:15px}
.rasta-design.architecture-home .rasta-studio-invitation h2{font-size:clamp(30px,3.5vw,48px);line-height:1.65;margin:0 0 16px;max-width:540px}
.studio-invite-copy>p{font-size:14px;color:#566269;line-height:2.1;margin:0 0 22px;max-width:530px}
.studio-invite-steps{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;margin:25px 0;gap:12px 25px}
.studio-invite-steps li{border-bottom:1px solid #c5c7c5;padding:0 0 12px;display:flex;align-items:center;gap:12px;font-size:13px}
.studio-invite-steps b{font:11px Arial;color:#677781}
.studio-invite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 25px}
.studio-invite-actions .studio-invite-start{background:#162d3e;color:white;min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 24px;font-size:14px}
.studio-invite-start:hover{background:#2c485b}
.studio-callback{display:flex;gap:18px;align-items:center;border-top:1px solid #c3c6c6;margin-top:26px;padding-top:20px}
.studio-callback strong{font-size:49px;line-height:1;color:#1a3446;font-weight:500;white-space:nowrap}
.studio-callback p{font-size:13px;line-height:2;color:#3b4c58;margin:0;max-width:325px}
.studio-invite-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.studio-invite-door{width:100%;height:390px;background:#e0dfda;padding:20px;position:relative;display:block}
.studio-invite-door img{display:block;height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.studio-invite-door>span{position:absolute;bottom:14px;left:16px;font:10px Arial;letter-spacing:.1em;color:#263d4b}
.studio-invite-finishes{display:flex;justify-content:center;gap:12px;margin:18px 0 10px;width:100%}
.studio-invite-finishes a{display:flex;flex-direction:column;gap:7px;align-items:center;min-width:70px;color:#3d505c;font-size:9px}
.studio-invite-finishes img{width:65px;height:45px;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 6px #0001}
.studio-invite-finishes a:hover img{outline:1px solid #1a3446;outline-offset:3px}
.studio-invite-visual>p{font-size:11px;color:#56656d;margin:7px 0;text-align:center}
.rasta-design .page-hero{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22r%22%20width%3D%22210%22%20height%3D%22210%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23e5e5e7%22%20d%3D%22M0%200h160v145l-35%2035V35H35v110H0z%22%2F%3E%3Cpath%20fill%3D%22%23d0d0d6%22%20d%3D%22M55%2065l35-35v145h85V65h35v110l-35%2035H55z%22%2F%3E%3Cpath%20fill%3D%22%23dedee1%22%20d%3D%22m0%200%2035-35h160l-35%2035z%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23r)%22%20d%3D%22M0%200h420v420H0z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:left top;background-size:260px}
@media(max-width:760px){
 body.rasta-design:before{inset-inline:8px;top:110px}
 .rasta-design main:before{width:180px;height:250px;background-size:210px}
 .rasta-design.architecture-home .architecture-hero{width:100%;padding:30px 7% 25px;min-height:0;gap:25px}
 .architecture-home .architecture-hero:after{inset:12px}
 .architecture-home .architecture-hero h1{font-size:43px;margin-top:12px}
 .architecture-home .architecture-hero .architecture-slogan{font-size:34px;line-height:1.55}
 .architecture-home .architecture-hero .architecture-intro{font-size:12px;margin-bottom:18px}
 .architecture-home .architecture-hero-actions{gap:10px 18px}
 .architecture-home .architecture-hero-actions .rasta-primary-link{padding:10px 14px;font-size:12px;gap:14px}
 .architecture-home .architecture-hero-photos{gap:13px}
 .architecture-home .architecture-hero-photos figure{padding:7px 7px 0}
 .architecture-home .architecture-hero-photos img{height:280px}
 .architecture-home .architecture-secondary-photo{margin-top:35px}
 .architecture-home .architecture-secondary-photo img{height:185px}
 .architecture-home .architecture-photo-note{font-size:9px}
 .architecture-home .rasta-studio-invitation{margin-top:30px;padding:28px 6% 35px;display:flex;flex-direction:column;gap:30px;width:92%}
 .rasta-studio-invitation:after{inset:10px}
 .rasta-design.architecture-home .rasta-studio-invitation h2{font-size:29px}
 .studio-invite-copy>p{font-size:12px}.studio-invite-steps{gap:12px 16px}.studio-invite-steps li{font-size:12px}
 .studio-invite-actions{gap:12px}.studio-invite-start{width:100%}
 .studio-callback strong{font-size:42px}.studio-callback p{font-size:12px}
 .studio-invite-door{height:350px}.studio-invite-finishes{gap:10px}
 .rasta-design .design-footer{padding-inline:7%;padding-bottom:65px}
}
.catalogue-hub-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 60px}
.catalogue-hub-nav a{display:flex;gap:15px;align-items:center;min-height:85px;padding:20px;color:#193246;border-block:1px solid #bfc4c8;background:#eae8e1;font-size:17px}
.catalogue-hub-nav span{font:10px Arial;color:#677885}.catalogue-hub-nav b{margin-inline-start:auto;font-size:20px;font-weight:400}
.catalogue-hub-group{scroll-margin-top:120px;padding:20px 0 55px;border-bottom:1px solid #c6cbcd;margin-bottom:40px}
.catalogue-hub-group>header>span{font:10px Arial;letter-spacing:.14em;color:#6a7a82}
.catalogue-hub-group h2{font-size:32px;line-height:1.7;margin:14px 0 10px;color:#193246}
.catalogue-hub-group>header p{font-size:14px;color:#64727b;line-height:2}
.catalogue-hub-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}
.catalogue-hub-card{min-width:0;background:#fff;border:1px solid #d4d6d6}
.catalogue-hub-cover{display:block;background:#e6e5df;padding:20px;position:relative}
.catalogue-hub-cover img{display:block;width:100%;height:330px;object-fit:contain;filter:drop-shadow(0 7px 9px #0002)}
.catalogue-hub-card>div{padding:22px}.catalogue-hub-card small{font-size:11px;color:#78838a}
.catalogue-hub-card h3{font-size:19px;line-height:1.8;margin:9px 0 22px;color:#1f3646}
.catalogue-hub-card nav{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #d7dbdc;padding-top:12px}
.catalogue-hub-card nav a{display:inline-flex;align-items:center;min-height:44px;color:#264555;font-size:12px}
.catalogue-hub-card nav a:hover{text-decoration:underline}
.catalogue-hub-group:has(.catalogue-hub-card:only-child) .catalogue-hub-cards{display:block}
.catalogue-hub-card:only-child{display:grid;grid-template-columns:300px 1fr;align-items:center;max-width:840px}
.catalogue-hub-card:only-child .catalogue-hub-cover img{height:280px}
.catalogue-hub-card:only-child>div{padding:35px}
@media(max-width:760px){.catalogue-hub-nav{grid-template-columns:1fr;gap:10px;margin:25px 0 35px}.catalogue-hub-nav a{min-height:62px;padding:10px 18px;font-size:16px}.catalogue-hub-group h2{font-size:27px}.catalogue-hub-cards{grid-template-columns:1fr;gap:22px}.catalogue-hub-card:only-child{display:block}.catalogue-hub-card:only-child>div{padding:22px}.catalogue-hub-cover img{height:300px}.catalogue-hub-group{padding-bottom:30px;margin-bottom:25px}}
@media print{body.rasta-design:before,.rasta-design main:before{display:none}}
/* One complete catalogue room setting at a time; a stable frame prevents jumps. */
.architecture-home .architecture-hero-gallery{width:100%;max-width:600px;justify-self:end;min-width:0}
.architecture-home .hero-slides{padding:10px 10px 0;background:#ece9e2;box-shadow:0 16px 30px #0002}
.architecture-home .hero-slide{margin:0}
.architecture-home .hero-slide>a{display:block;aspect-ratio:2467/1700}
.architecture-home .hero-slide img{display:block;width:100%;height:100%;object-fit:contain}
.architecture-home .hero-slide figcaption{padding:12px 2px;min-height:50px;color:#324550}
.architecture-home .hero-slide h3{font-size:12px;line-height:1.8;font-weight:400;margin:0}
.architecture-home .hero-slideshow-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:0;padding:12px 0 0;margin:0;color:#c1c8ca;direction:inherit}
.architecture-home .hero-slideshow-controls button{font:inherit;font-size:11px;color:#e3e7e7;background:transparent;border:1px solid #6b7c87;min-height:44px;min-width:44px;padding:6px 13px;cursor:pointer;border-radius:0}
.architecture-home .hero-slideshow-controls button:hover{background:#ffffff15}
.architecture-home .hero-slideshow-navigation{display:flex;align-items:center;gap:10px}
.architecture-home .hero-slideshow-navigation>span{font-size:11px;min-width:35px;text-align:center}
.architecture-home .hero-slideshow-dots{display:flex;gap:2px}
.architecture-home .hero-slideshow-dots button{padding:10px;display:grid;place-items:center;border:0}
.architecture-home .hero-slideshow-dots span{width:7px;height:7px;border:1px solid #b8c3cb;border-radius:50%}
.architecture-home .hero-slideshow-dots [aria-current=true] span{background:#e3d9c8;border-color:#e3d9c8}
.architecture-home .architecture-hero-gallery .architecture-photo-note{margin:12px 0 0;padding:0;border:0;font-size:10px;max-width:none}
@media(max-width:760px){.architecture-home .hero-slides{padding:7px 7px 0}.architecture-home .hero-slide figcaption{min-height:47px;padding:10px 2px}.architecture-home .hero-slide h3{font-size:10px}.architecture-home .hero-slideshow-controls{gap:6px}.architecture-home .hero-slideshow-controls button{padding:6px 10px;font-size:10px}.architecture-home .hero-slideshow-dots button{min-width:30px}.architecture-home .hero-slideshow-navigation{gap:5px}}
