*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafaf9;color:#101010;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #087be1;outline-offset:7px}button:hover .arrow{transform:translateX(7px)}.page{position:relative;isolation:isolate;width:100%;aspect-ratio:1672/941;container-type:inline-size;overflow:hidden;background:#fcfcfb}.photography,.geometry{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photography{background:url('./assets/background.webp') center/100% 100% no-repeat;z-index:-2}.geometry{z-index:-1}.header{position:absolute;inset:2.55% 2.6% auto 4.45%;display:flex;align-items:flex-start;z-index:5}.logo{width:7.8cqw;display:block}.logo svg{display:block;width:100%;height:auto}.navigation{display:flex;gap:2.7cqw;align-items:center;margin:0.6cqw 6.8cqw 0 auto}.navigation a,.navigation button,.appointment{font-size:max(12px,.72cqw);letter-spacing:.19em;text-transform:uppercase;white-space:nowrap;font-weight:400}.navigation button{padding:5px 0}.navigation a,.navigation button{transition:opacity .2s}.navigation a:hover,.navigation button:hover{opacity:.55}.appointment{border-radius:30px;padding:.65cqw 1.5cqw;background:#101010;color:white;display:flex;align-items:center;gap:.6cqw;transition:background .2s}.appointment:hover{background:#353535}.appointment span{font-size:21px;line-height:.7}.menu-toggle{display:none}.intro{position:absolute;left:4.45%;top:21.2%;width:30.3%}h1{font-weight:300;font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:-.07em;font-size:6.22cqw;line-height:.93;margin:0 0 2.05cqw}h1>span{display:block;width:max-content;max-width:100%;padding-right:.06em}.rainbow{background:linear-gradient(90deg,#ff0606 0%,#ff7310 27%,#efd600 47%,#0a9a00 70%,#0088ff 92%);background-clip:text;-webkit-background-clip:text;color:transparent}.intro-caption{font-size:max(12px,.8cqw);line-height:1.8;letter-spacing:.26em;text-transform:uppercase;margin:0;white-space:nowrap}.discover{padding:0;margin-top:2.7cqw;display:flex;align-items:center;gap:1cqw;font-size:max(12px,.83cqw);text-transform:uppercase;letter-spacing:.17em}.discover>span:first-child{padding-bottom:.65cqw;border-bottom:1px solid #222}.arrow{display:block;font-family:Arial,sans-serif;font-size:2.5cqw;font-weight:300;line-height:1;transition:transform .25s}.discover .arrow{margin-top:-.7cqw}.service{position:absolute;text-align:left;padding:0;display:flex;align-items:flex-start;flex-direction:column;--accent:#f10d0d}.number{font-size:max(14px,1.08cqw);letter-spacing:.035em;color:var(--accent)}.service h2{font-size:1.95cqw;font-weight:400;letter-spacing:-.045em;margin:.75cqw 0 .8cqw;line-height:1.1}.service-1 h2{font-size:1.83cqw}.caption{display:block;font-size:max(12px,.78cqw);line-height:1.7;text-transform:uppercase;letter-spacing:.26em}.service .arrow{color:var(--accent);margin-top:1.5cqw;font-size:2.6cqw}.service-1{left:37.9%;top:19.2%;--accent:#ff1111}.service-2{left:59.8%;top:13.7%;--accent:#ff7900}.service-3{left:79.7%;top:19.7%;--accent:#d8bd00}.service-4{left:37.15%;top:73.9%;--accent:#0f9c00}.service-5{left:73.15%;top:62.65%;--accent:#0088ff}.perspective{position:absolute;left:88.7%;top:50.4%;font-size:max(12px,.76cqw);text-transform:uppercase;letter-spacing:.19em;line-height:1.85;color:#808080}.perspective span{display:block;width:3.7cqw;border-top:1px solid #aaa;margin-top:1.8cqw}.footer{position:absolute;left:3.4%;bottom:6.1%;display:flex;gap:2.3cqw;align-items:center;color:#777;font-size:max(12px,.72cqw);letter-spacing:.2em;line-height:1.8;text-transform:uppercase}.footer p{margin:0}.footer i{width:4.3cqw;border-top:1px solid #aaa}.closing{position:absolute;left:89.85%;bottom:6.5%;font-size:max(12px,.73cqw);color:#777;letter-spacing:.16em;line-height:1.85;text-transform:uppercase;margin:0}.detail{width:min(580px,calc(100% - 36px));max-height:85svh;overflow:auto;padding:58px 44px 44px;border:0;background:#fff;box-shadow:0 24px 100px #0002}.detail::backdrop{background:#1115;backdrop-filter:blur(8px)}.detail:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff1212,#ff7b00,#ffe000,#119a00,#008cff)}.close{position:absolute;top:12px;right:17px;width:40px;height:40px;font-size:30px;font-weight:300}.detail-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#777;line-height:1.7}.detail h2{font-size:38px;font-weight:400;letter-spacing:-.04em;margin:20px 0}.detail p{font-size:17px;line-height:1.75;color:#555}.detail-list{display:grid;gap:0}.detail-list button{padding:16px 0;border-bottom:1px solid #e8e8e8;text-align:left;display:flex;justify-content:space-between;font-size:19px}.detail-list button:hover{color:#0578d5}.detail-list span{color:#008cff}.detail-note{border-left:2px solid #008cff;padding-left:18px}.detail-action{margin-top:15px;background:#111;color:#fff;padding:14px 22px;border-radius:30px;font-size:14px;letter-spacing:.06em}.service:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media(min-width:1001px) and (max-width:1350px){.intro-caption{letter-spacing:.15em;font-size:11px}.caption{letter-spacing:.18em;font-size:11px}.perspective,.closing,.footer{font-size:10px}.navigation{gap:2.3cqw;margin-right:4.5cqw}.navigation a,.navigation button,.appointment{font-size:10px}.discover{font-size:11px}}
@media(max-width:1000px){.page{aspect-ratio:auto;overflow:hidden;min-height:100svh}.photography{height:720px;background-size:auto 100%;background-position:41% top;opacity:.22;mask-image:linear-gradient(#000 40%,transparent)}.geometry{display:none}.header{position:relative;inset:auto;padding:24px 6%;align-items:center;gap:18px}.logo{width:88px}.navigation{margin:0 12px 0 auto;gap:22px}.navigation a,.navigation button,.appointment{font-size:11px;letter-spacing:.12em}.appointment{padding:13px 18px;gap:7px}.intro{position:relative;left:auto;top:auto;width:auto;margin:35px 7% 65px}.intro h1{font-size:clamp(68px,10vw,100px);line-height:.98;margin-bottom:30px;letter-spacing:-.065em}.intro-caption{font-size:12px;letter-spacing:.17em;white-space:normal;line-height:1.9;max-width:520px}.discover{font-size:12px;margin-top:30px;gap:17px}.discover .arrow{font-size:36px}.discover>span:first-child{padding-bottom:10px}.services{display:grid;grid-template-columns:1fr 1fr;margin:0 7%;gap:22px}.service{position:relative;inset:auto;min-height:225px;border-top:3px solid var(--accent);padding:26px 22px;isolation:isolate;background:#fff;text-align:left}.service h2,.service-1 h2{font-size:30px;margin:14px 0}.number{font-size:16px}.caption{font-size:12px;letter-spacing:.18em}.service .arrow{font-size:38px;margin-top:18px}.service-4,.service-5{overflow:hidden}.service-4:before,.service-5:before{content:'';position:absolute;inset:0;z-index:-1;background-image:url('./assets/background.webp');background-repeat:no-repeat;opacity:.7}.service-4:before{background-size:320% auto;background-position:60% 100%}.service-5:before{background-size:300% auto;background-position:100% 100%;opacity:.35}.perspective{position:relative;left:auto;top:auto;margin:45px 7%;font-size:12px}.perspective br{display:none}.perspective span{width:65px;margin-top:20px}.footer{position:relative;left:auto;bottom:auto;padding:0 7% 35px;font-size:11px;gap:26px}.footer i{width:60px}.closing{left:auto;right:7%;bottom:38px;font-size:11px}}
@media(max-width:640px){.header{padding:21px 6%;gap:15px}.logo{width:72px;margin-right:auto}.appointment{padding:12px 15px;font-size:10px;letter-spacing:.1em}.appointment span{font-size:19px}.menu-toggle{display:flex;width:34px;height:40px;flex-direction:column;justify-content:center;gap:7px;padding:5px}.menu-toggle span{height:1px;width:24px;background:#111;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.navigation{display:none;position:absolute;top:95%;right:6%;left:6%;margin:0;background:#fff;box-shadow:0 12px 35px #0001;padding:18px 23px;align-items:stretch;gap:4px}.navigation.is-open{display:flex;flex-direction:column}.navigation a,.navigation button{padding:13px 0;text-align:left;font-size:12px}.intro{margin:37px 7% 47px}.intro h1{font-size:clamp(46px,12.9vw,78px);margin-bottom:30px;line-height:1}.intro-caption{font-size:11px;letter-spacing:.13em;max-width:320px}.discover{margin-top:28px;font-size:11px}.services{grid-template-columns:1fr;gap:18px}.service{min-height:228px;padding:24px}.service h2,.service-1 h2{font-size:30px}.service-4:before{background-size:250%;background-position:60% 100%}.service-5:before{background-size:235%;background-position:100% 100%}.perspective{margin-top:40px;font-size:11px;letter-spacing:.12em}.footer{font-size:10px;letter-spacing:.14em;gap:18px;padding-bottom:80px}.footer i{width:45px}.closing{bottom:25px;right:7%;font-size:10px}.detail{padding:55px 26px 30px}.detail h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.detail.has-bg{background-size:cover;background-position:center;color:#fff}
.detail.has-bg .detail-eyebrow{color:rgba(255,255,255,.82)}
.detail.has-bg #detail-title{color:#fff}
.detail.has-bg p{color:rgba(255,255,255,.94)}
.detail.has-bg .close{color:#fff}
.detail.has-bg .detail-action{background:#fff;color:#111}
