:root{--ink: #11110f;--cream: #fff4df;--orange: #fa4b0b;--blue: #2812bd;--line: #11110f3d;--font: "Helvetica Neue", Helvetica, Arial, sans-serif;--action-font-size: clamp(.95rem, .2vw + .9rem, 1.02rem);--action-radius: .4rem;--page-gutter: clamp(1.25rem, 3.5vw, 4.5rem);--page-width: 100rem;--header-height: 5.25rem;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid currentColor;outline-offset:3px}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;padding:.75rem 1rem;background:var(--ink);color:#fff}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;isolation:isolate;height:var(--header-height);background:var(--orange)}.site-header:after{content:"";position:absolute;left:0;bottom:0;z-index:-1;width:100%;height:2px;background:var(--blue);transform-origin:0;animation:header-rule-in .85s 80ms var(--ease-out) both}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--page-width);margin:0 auto;padding:0 var(--page-gutter);animation:header-content-in .6s var(--ease-out) both}.wordmark{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:3.25rem;margin-left:-.75rem;padding:0 .75rem;border-radius:var(--action-radius);line-height:1;text-transform:uppercase;overflow:hidden}.wordmark:before{content:"";position:absolute;inset:.25rem 0;z-index:-1;background:var(--blue);transform:scaleX(0);transform-origin:100%;transition:transform .36s var(--ease-out)}.wordmark span{color:var(--blue);font-size:clamp(1.12rem,1vw + .8rem,1.38rem);font-weight:800;letter-spacing:.065em;transition:color .18s ease,letter-spacing .36s var(--ease-out),transform .36s var(--ease-out)}.wordmark:hover:before,.wordmark:focus-visible:before{transform:scaleX(1);transform-origin:0}.wordmark:hover span,.wordmark:focus-visible span{color:var(--cream);letter-spacing:.085em;transform:translate(.08rem)}.site-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.5vw,2.75rem);font-size:clamp(1.08rem,.55vw + .9rem,1.25rem);font-weight:700}.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:3.25rem;color:var(--ink);line-height:1;transition:transform .24s var(--ease-out)}.site-nav a:after{content:"";position:absolute;left:0;bottom:.65rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100%;transition:transform .28s var(--ease-out)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform:scaleX(1);transform-origin:0}.site-nav a:hover,.site-nav a:focus-visible{transform:translateY(-1px)}.hero{background:var(--orange);min-height:calc(100svh - var(--header-height))}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(22rem,.98fr);align-items:center;gap:clamp(3rem,5vw,6rem);max-width:var(--page-width);min-height:calc(100svh - var(--header-height));margin:0 auto;padding:clamp(3rem,5vw,5.5rem) var(--page-gutter);overflow:hidden}.hero-copy{position:relative;z-index:3;container-type:inline-size;border-top:2px solid var(--ink);padding-top:clamp(1.25rem,2vw,1.8rem);animation:hero-copy-in .7s var(--ease-out) both;transition:border-color .3s ease}.eyebrow{margin:0 0 1.75rem;font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero-copy .eyebrow{margin-bottom:clamp(2.25rem,4vw,4rem);font-size:clamp(.85rem,3.05cqw,1.55rem);font-weight:700;letter-spacing:.08em;line-height:1.3;white-space:nowrap}.hero-copy .eyebrow span{white-space:nowrap}.hero-copy .eyebrow-role{position:relative;z-index:0;isolation:isolate;display:inline-block;transition:color .2s ease}.hero-copy .eyebrow-role:before{content:"";position:absolute;inset:-.26em -.24em -.2em;z-index:-1;background:var(--blue);transform:skew(-7deg) scaleX(0);transform-origin:100% 50%;transition:transform .4s var(--ease-out)}.hero-copy .eyebrow-sep{transition:opacity .3s ease}.hero-copy .eyebrow-city{display:inline-block;transition:opacity .3s ease,transform .4s var(--ease-out)}@media(hover:hover){.hero-copy .eyebrow:hover .eyebrow-role{color:var(--cream)}.hero-copy .eyebrow:hover .eyebrow-role:before{transform:skew(-7deg) scaleX(1);transform-origin:0 50%}.hero-copy .eyebrow:hover .eyebrow-sep,.hero-copy .eyebrow:hover .eyebrow-city{opacity:.55}.hero-copy .eyebrow:hover .eyebrow-city{transform:translate(.25em)}.hero-copy:has(.eyebrow:hover){border-top-color:var(--blue)}}.hero-intro{max-width:11.5ch;margin:0;color:var(--blue);font-size:clamp(3.4rem,5.2vw,6.5rem);font-weight:700;letter-spacing:-.055em;line-height:.95}.hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-top:clamp(2rem,3.5vw,3.2rem)}.button{display:inline-flex;align-items:center;justify-content:center;width:clamp(15.5rem,18vw,18rem);max-width:100%;min-height:3.5rem;padding:0 1.2rem;border:2px solid var(--blue);border-radius:var(--action-radius);background:var(--blue);color:#fff;font-size:var(--action-font-size);font-weight:700;letter-spacing:-.015em;line-height:1;transition:background .22s var(--ease-out),color .22s var(--ease-out),transform .22s var(--ease-out)}.button:hover,.button:focus-visible{background:var(--cream);color:var(--blue);transform:translateY(-2px)}.hero-portrait{position:relative;z-index:2;justify-self:end;width:100%;max-width:40rem;margin:0;animation:hero-portrait-in .8s 90ms var(--ease-out) both}.portrait-frame{position:relative;padding:clamp(.75rem,1.1vw,1rem);border-radius:var(--action-radius);background:var(--blue);overflow:hidden}.portrait-frame img{width:100%;height:auto;aspect-ratio:4 / 4.65;object-fit:cover;object-position:50% 38%;transition:transform .7s var(--ease-out)}.hero-portrait:hover img{transform:scale(1.018)}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes header-content-in{0%{opacity:0;transform:translateY(-.55rem)}to{opacity:1;transform:translateY(0)}}@keyframes header-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-portrait-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.section-shell{padding:clamp(5.5rem,9vw,9rem) var(--page-gutter)}.services{background:var(--cream)}.section-heading{margin-bottom:clamp(3.5rem,6vw,6rem)}.section-heading h2,.about h2,.contact h2{margin:0;color:var(--blue);font-size:clamp(3.5rem,6.5vw,7.5rem);font-weight:700;letter-spacing:-.065em;line-height:.9}.service-list{border-top:2px solid var(--blue)}.service-row{display:grid;grid-template-columns:.32fr 1fr 1.35fr;align-items:start;gap:1rem;padding:clamp(2rem,3vw,3.2rem) 0;border-bottom:1px solid var(--line)}.service-number{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;background:var(--orange);color:var(--blue);font-size:.78rem;font-weight:700;letter-spacing:.09em;transition:transform .3s var(--ease-out)}.service-row:nth-child(2) .service-number{background:var(--blue);color:#fff}.service-row:nth-child(3) .service-number{background:transparent;border:2px solid var(--ink);color:var(--ink)}.service-row h3{margin:0;color:var(--blue);font-size:clamp(1.45rem,2.25vw,2.25rem);font-weight:700;letter-spacing:-.04em;line-height:1.15;transition:transform .3s var(--ease-out)}.service-row:hover .service-number{transform:translateY(-.22rem)}.service-row:hover h3{transform:translate(.32rem)}.service-copy p{max-width:44rem;margin:0}.service-details{margin-top:1.2rem!important;color:#11110f9e;font-size:.75rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.about{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(3rem,6vw,6rem);background:var(--blue);color:#fff}.about-photos{width:100%;max-width:34rem}.about-photo{width:100%;margin:0;border:clamp(.45rem,.7vw,.7rem) solid var(--orange);border-radius:var(--action-radius);overflow:hidden}.about-photo img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 42%;transition:transform .7s var(--ease-out)}.about-photo:hover img{transform:scale(1.018)}.about-copy{container-type:inline-size;max-width:66rem;padding-top:clamp(1.5rem,2.5vw,2.5rem);border-top:2px solid #fff4dfb3}.about-copy .eyebrow{color:var(--orange)}.about-copy h2{color:var(--cream);font-size:clamp(2.25rem,9.3cqw,4.25rem);font-weight:700;letter-spacing:-.055em;line-height:1;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.about-copy h2 span{position:relative;isolation:isolate;display:block;width:fit-content;margin-left:-.12em;padding:.04em .12em .08em;transition:color .2s ease,opacity .3s ease,transform .45s var(--ease-out)}.about-copy h2 span+span{margin-top:.06em}.about-copy h2 span:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--orange);transform:scaleX(0);transform-origin:100%;transition:transform .45s var(--ease-out)}@media(hover:hover){.about-copy h2 span:hover{color:var(--blue);transform:translate(.12em)}.about-copy h2 span:hover:before{transform:scaleX(1);transform-origin:0}.about-copy h2:has(span:hover) span:not(:hover){opacity:.55}}.about-copy>p:last-child{max-width:42rem;margin:2.4rem 0 0;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65}.contact{padding:clamp(6rem,11vw,11rem) clamp(1.25rem,4vw,4.5rem);background:var(--orange);text-align:center;overflow-x:clip}.contact .eyebrow{color:var(--ink)}.contact h2{font-size:clamp(4.5rem,10vw,11rem)}.contact-punct{position:relative}.contact-dot{transition:opacity .2s ease}.contact-smile{position:absolute;left:.08em;bottom:.2em;width:.82em;height:.82em;color:var(--blue);opacity:0;transform:translateY(.15em) rotate(-30deg) scale(.2);transform-origin:18% 100%;transition:opacity .15s ease,transform .4s var(--ease-out);pointer-events:none}.smile-eye{transform-box:fill-box;transform-origin:center}@media(hover:hover){.contact h2:hover .contact-dot{opacity:0}.contact h2:hover .contact-smile{opacity:1;transform:rotate(-6deg);transition:opacity .15s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}.contact h2:hover .smile-eye-wink{animation:smile-wink .7s .65s ease-in-out 1 both}}@keyframes smile-wink{0%,to{transform:scaleY(1)}35%,65%{transform:scaleY(.1)}}.contact-mail{display:inline-flex;align-items:center;justify-content:center;min-height:4rem;margin-top:clamp(3rem,5vw,5rem);padding:0 1.4rem;border:2px solid var(--blue);border-radius:var(--action-radius);color:var(--blue);font-size:clamp(1rem,1.5vw,1.35rem);font-weight:700;line-height:1;transition:background .22s var(--ease-out),color .22s var(--ease-out),transform .22s var(--ease-out)}.contact-mail:hover,.contact-mail:focus-visible{background:var(--blue);color:#fff;transform:translateY(-2px)}.site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;padding:1.8rem clamp(1.25rem,4vw,4.5rem);background:var(--cream);font-size:.73rem}.site-footer p{margin:0}.footer-links{display:flex;justify-content:flex-end;gap:1.5rem}.footer-links a{transition:color .22s var(--ease-out)}.footer-links a:hover,.footer-links a:focus-visible{color:var(--blue)}.legal-main{min-height:calc(100vh - 5.5rem);background:var(--cream)}.legal-title{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem);background:var(--orange);border-bottom:2px solid var(--blue)}.legal-title .eyebrow{margin-bottom:1.5rem}.legal-title h1{margin:0;color:var(--blue);font-size:clamp(4rem,9vw,9rem);font-weight:700;letter-spacing:-.065em;line-height:.9}.legal-prose{max-width:62rem;margin:0 auto;padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem)}.legal-prose section{display:grid;grid-template-columns:minmax(14rem,.72fr) minmax(0,1.28fr);gap:1.5rem;padding:2.25rem 0;border-top:1px solid var(--line)}.legal-prose h2{margin:0;color:var(--blue);font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700;letter-spacing:-.035em;line-height:1.2}.legal-prose p,.legal-prose ul{grid-column:2;margin:0;line-height:1.75}.legal-prose p+p,.legal-prose p+ul,.legal-prose ul+p{margin-top:-.5rem}.legal-prose ul{padding-left:1.2rem}.legal-prose li+li{margin-top:.45rem}.legal-prose a{color:var(--blue);border-bottom:1px solid}.legal-date{padding-top:1.5rem;border-top:2px solid var(--blue);color:#11110f9e;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1100px){.about{grid-template-columns:1fr}.about-photos{max-width:32rem}}@media(max-width:1000px){.hero-inner{grid-template-columns:1fr}.hero-portrait{width:88%;max-width:39rem;margin-left:auto}}@media(max-width:680px){.site-header{height:auto}.site-header-inner{flex-direction:column;align-items:stretch;gap:.55rem;padding-top:.8rem;padding-bottom:.65rem}.wordmark span{font-size:1.05rem}.site-nav{justify-content:space-between;gap:.8rem;width:100%;font-size:clamp(.9rem,3.8vw,1rem)}.site-nav a{min-height:2rem}.site-nav a:after{bottom:.15rem}.hero{min-height:auto}.hero-inner{min-height:auto;padding-top:3.25rem;padding-bottom:4.5rem}.hero-intro{max-width:none;font-size:clamp(3rem,13vw,4.6rem)}.hero-copy .eyebrow{font-size:clamp(.65rem,3.75cqw,1.05rem);letter-spacing:.075em}.hero-copy .eyebrow-sep{display:none}.hero-copy .eyebrow-city{display:block}.hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.hero-portrait{width:100%;max-width:none;margin-top:2.5rem}.service-row{grid-template-columns:1fr}.service-copy{padding-top:.5rem}.about-photos{max-width:25rem}.about-photo{width:100%}.contact-mail{word-break:break-word}.legal-main{min-height:calc(100vh - 6.4rem)}.legal-title{padding-top:4rem;padding-bottom:4rem}.legal-title h1{font-size:clamp(3.25rem,17vw,5rem)}.legal-prose section{grid-template-columns:1fr;gap:1rem}.legal-prose p,.legal-prose ul{grid-column:1}.site-footer{grid-template-columns:1fr;align-items:start;gap:1rem}.site-footer p{text-align:left}.footer-links{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:420px){.about-copy h2{font-size:clamp(2rem,11.5cqw,4.25rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden[data-astro-cid-sz7xmlte]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
