:root{--blue:#1152D4;--blue-deep:#0C3EA3;--blue-soft:#E4EDFF;--ink:#0B1B3A;--ink-dim:rgba(11,27,58,.62);--ink-faint:rgba(11,27,58,.34);--line:rgba(17,82,212,.14);--serif:"Cormorant Garamond",serif;--sans:"Outfit",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(1100px 600px at 80% -10%,rgba(17,82,212,.16),transparent 60%),radial-gradient(900px 700px at -10% 30%,rgba(120,165,255,.14),transparent 55%),linear-gradient(180deg,#fff,#f4f8ff 40%,#e7efff);background-attachment:fixed;color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;cursor:none}@media(pointer:coarse){body{cursor:auto}}::selection{background:var(--blue);color:#fff}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}#petals{position:fixed;inset:0;z-index:0;pointer-events:none}.cursor{position:fixed;z-index:999;pointer-events:none;width:8px;height:8px;border-radius:50%;background:var(--blue);transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s}.cursor.grow{width:44px;height:44px;background:#1152d41f;border:1px solid var(--blue)}@media(pointer:coarse){.cursor{display:none}}main{position:relative;z-index:1}.wrap{max-width:1060px;margin:0 auto;padding:0 32px}nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:26px 40px;background:linear-gradient(#ffffffbf,#fff0);backdrop-filter:blur(4px)}.brand{font-family:var(--serif);font-size:20px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}nav ul{display:flex;gap:36px;list-style:none}nav ul a{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);position:relative;transition:color .3s}nav ul a:after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--blue);transition:width .35s ease}nav ul a:hover{color:var(--ink)}nav ul a:hover:after{width:100%}nav ul a[aria-current=page]{color:var(--ink)}nav ul a[aria-current=page]:after{width:100%}@media(max-width:640px){nav ul{display:none}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:0 24px}.hero .ghost{position:absolute;font-family:var(--serif);font-size:clamp(150px,26vw,340px);color:transparent;-webkit-text-stroke:1px rgba(17,82,212,.09);user-select:none;pointer-events:none;line-height:1}.hero .over{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--blue);margin-bottom:28px}.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,9vw,110px);line-height:1.05;letter-spacing:.02em}.hero h1 em{font-style:italic;color:var(--blue)}.hero h1 .ch{display:inline-block;opacity:0;transform:translateY(40px) rotate(4deg);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}@keyframes rise{to{opacity:1;transform:none}}.hero .sub{margin-top:34px;max-width:440px;color:var(--ink-dim);font-size:15px;font-weight:300;opacity:0;animation:fade 1.4s ease 1.1s forwards}@keyframes fade{to{opacity:1}}.hero .down{position:absolute;bottom:44px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;gap:14px}.hero .down:after{content:"";width:1px;height:52px;background:linear-gradient(var(--blue),transparent);animation:drop 2.4s ease-in-out infinite}@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.page-head{padding:210px 0 90px;text-align:left}.page-head .over{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:26px}.page-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,7vw,84px);line-height:1.1;letter-spacing:.02em}.page-head h1 em{font-style:italic;color:var(--blue)}.page-head .sub{margin-top:28px;max-width:520px;color:var(--ink-dim);font-size:15px}section{padding:150px 0}.label{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:34px}.big{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,54px);line-height:1.25;letter-spacing:.01em;max-width:760px}.big em{font-style:italic;color:var(--blue)}.about p.note{margin-top:30px;color:var(--ink-dim);max-width:520px;font-size:15px}.about .row{margin-top:70px;display:flex;gap:70px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:44px}.about .row div span{font-family:var(--serif);font-size:34px;display:block;color:var(--blue)}.about .row div small{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint)}.svc-list{border-top:1px solid var(--line)}.svc-item{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:30px;padding:38px 8px;border-bottom:1px solid var(--line);position:relative;transition:padding-left .4s ease,background .4s ease}.svc-item:hover{padding-left:26px;background:#ffffff8c}.svc-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--blue);transform:scaleY(0);transition:transform .4s ease}.svc-item:hover:before{transform:scaleY(1)}.svc-item .no{font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:18px}.svc-item h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,3vw,32px);letter-spacing:.02em;transition:color .3s}.svc-item:hover h3{color:var(--blue)}.svc-item p{grid-column:2;color:var(--ink-dim);font-size:14px;max-width:480px;margin-top:6px}.svc-item .arr{font-size:20px;color:var(--ink-faint);transition:transform .35s,color .35s}.svc-item:hover .arr{transform:translate(8px);color:var(--blue)}.work-grid{display:grid;gap:100px;margin-top:20px}.piece{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.piece:nth-child(2n){direction:rtl}.piece:nth-child(2n)>*{direction:ltr}.piece .frame{aspect-ratio:4/3;border-radius:6px;position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -35px #1152d459;background:#fff}.piece .frame .fill{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.piece:hover .frame .fill{transform:scale(1.05)}.piece.w1 .fill{background:radial-gradient(circle at 30% 30%,#dce8ff,#f6f9ff 70%)}.piece.w2 .fill{background:radial-gradient(circle at 70% 40%,#cfe0ff,#f2f7ff 70%)}.piece.w3 .fill{background:radial-gradient(circle at 40% 70%,#e3edff,#fafcff 70%)}.piece .frame .mark{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:clamp(50px,7vw,84px);font-style:italic;color:#1152d42e;transition:color .6s}.piece:hover .frame .mark{color:#1152d473}.piece h3{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:14px}.piece .tags{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);margin-bottom:22px;display:block}.piece p{color:var(--ink-dim);font-size:15px;max-width:400px}.piece .more{display:inline-block;margin-top:26px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--blue);padding-bottom:6px;transition:color .3s,letter-spacing .3s}.piece .more:hover{color:var(--blue);letter-spacing:.38em}.types{margin-top:54px;display:flex;flex-wrap:wrap;gap:14px}.types span{font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);font-weight:400;color:var(--ink);padding:14px 26px;border:1px solid var(--line);border-radius:40px;transition:border-color .35s,color .35s,background .35s}.types span:hover{border-color:var(--blue);color:var(--blue);background:#ffffff8c}.pause{padding:130px 0;text-align:center}.pause p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,3.4vw,34px);line-height:1.7;color:var(--ink-dim)}.pause .who{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-faint);margin-top:26px;display:block}.contact{text-align:center;padding-bottom:110px}.contact .big{margin:0 auto}.contact a.mail{display:inline-block;margin-top:50px;font-family:var(--serif);font-size:clamp(22px,3.4vw,36px);font-style:italic;color:var(--ink);position:relative}.contact a.mail:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--blue);transform:scaleX(.3);transform-origin:center;transition:transform .5s ease}.contact a.mail:hover:after{transform:scaleX(1)}.contact .small{margin-top:30px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint)}.form{max-width:620px;margin:0 auto;text-align:left}.form .field{margin-bottom:44px}.form label{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.form input,.form textarea,.form select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 2px 14px;font-family:var(--serif);font-size:22px;font-weight:300;color:var(--ink);transition:border-color .4s}.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-bottom-color:var(--blue)}.form textarea{resize:vertical;min-height:120px;line-height:1.5}.form button{margin-top:10px;background:none;border:1px solid var(--blue);color:var(--ink);font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;padding:18px 46px;cursor:pointer;transition:background .35s,color .35s}.form button:hover{background:var(--blue);color:#fff}.form .status{margin-top:22px;font-size:13px;color:var(--ink-dim);min-height:1.5em}.legal{max-width:620px;margin:90px auto 0;padding-top:44px;border-top:1px solid var(--line)}.legal .label{margin-bottom:26px}.legal-grid{display:flex;gap:60px;flex-wrap:wrap}.legal-grid p{color:var(--ink-dim);font-size:14px;line-height:1.9}.legal-grid strong{color:var(--ink);font-weight:400}.prose{max-width:720px}.prose h2{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:.02em;margin:60px 0 18px}.prose p,.prose li{color:var(--ink-dim);font-size:15px;margin-bottom:14px}.prose ul{padding-left:22px;margin-bottom:14px}.prose .updated{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint)}.steps{border-top:1px solid var(--line);margin-top:20px}.step{display:grid;grid-template-columns:70px 1fr;gap:30px;padding:38px 8px;border-bottom:1px solid var(--line)}.step .no{font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:18px}.step h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:8px}.step p{color:var(--ink-dim);font-size:14px;max-width:520px}.cta{text-align:center;padding:130px 0}.cta .btn{display:inline-block;margin-top:44px;border:1px solid var(--blue);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);padding:18px 46px;transition:background .35s,color .35s}.cta .btn:hover{background:var(--blue);color:#fff}footer{border-top:1px solid var(--line);padding:44px 40px;display:flex;justify-content:space-between;gap:28px 40px;flex-wrap:wrap;align-items:flex-end;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);position:relative;z-index:1}footer .foot-legal{display:flex;flex-direction:column;gap:8px;line-height:1.8}footer .foot-legal .foot-name{color:var(--ink-dim);letter-spacing:.24em}footer .foot-meta{display:flex;flex-direction:column;gap:12px;text-align:right}footer .links{display:flex;gap:24px;justify-content:flex-end}footer a:hover{color:var(--ink)}@media(max-width:640px){footer{align-items:flex-start}footer .foot-meta{text-align:left}footer .links{justify-content:flex-start}}.reveal{opacity:0;transform:translateY(36px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media(max-width:820px){.piece{grid-template-columns:1fr;gap:30px}.piece:nth-child(2n){direction:ltr}section{padding:100px 0}.svc-item{grid-template-columns:44px 1fr auto;gap:16px}.step{grid-template-columns:44px 1fr;gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.hero h1 .ch,.hero .sub{opacity:1;transform:none}body{cursor:auto}.cursor{display:none}html{scroll-behavior:auto}}
