.behidden{display:none !important}.dflex{display:flex}.dflex-row{display:flex;flex-direction:row}.dflex-col{display:flex;flex-direction:column}.dflexr-jcs{display:flex;flex-direction:row;justify-content:flex-start}.dflexr-jce{display:flex;flex-direction:row;justify-content:flex-end}.dflexr-jcc{display:flex;flex-direction:row;justify-content:center}.dflexr-jcsa{display:flex;flex-direction:row;justify-content:space-around}.dflexr-jcsb{display:flex;flex-direction:row;justify-content:space-between}.dflexr-jcse{display:flex;flex-direction:row;justify-content:space-evenly}.dflexc-jcs{display:flex;flex-direction:column;justify-content:flex-start}.dflexc-jce{display:flex;flex-direction:column;justify-content:flex-end}.dflexc-jcc{display:flex;flex-direction:column;justify-content:center}.dflexc-jcsa{display:flex;flex-direction:column;justify-content:space-around}.dflexc-jcsb{display:flex;flex-direction:column;justify-content:space-between}.dflexc-jcse{display:flex;flex-direction:column;justify-content:space-evenly}.flexfit{flex:1}.flexgrow{flex:1 0}.flexshrink{flex:0 1}.flexwrap-on{flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;height:35px;padding:0 1.5rem;border-radius:5px;font-size:.9rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;box-sizing:border-box}.btn-delete{background-image:linear-gradient(180deg, #c07070, #8c4040);color:#000}.btn-delete:hover{background-color:#f44}.btn-cancel{background-color:#c9a227;color:#000}.btn-cancel:hover{background-color:#e0c05a;color:red}.btn-save{background-color:#6a8a7a;color:#000}.btn-save:hover{background-color:#4a8a6a}.btn-general{background-color:#4a6a5a;color:#0d1218;text-shadow:1px 1px 2px #ff0;width:50%}.nav-link{text-decoration:none}.nav-link:hover{font-weight:bold;line-height:1.5}.main-nav-menu li a{color:#8ec2d4}.stage{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;overflow:hidden;background:#0d1218;padding:1.5rem 1.35rem 2.25rem;row-gap:1.35rem}@media only screen and (min-width: 992px){.stage{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr);grid-template-rows:minmax(0, 1fr);grid-template-areas:"brand showcase";align-items:stretch;column-gap:2rem;row-gap:0;height:100svh;min-height:100svh;max-height:100svh;padding:clamp(1.15rem,3.5vh,2.5rem) clamp(1.5rem,5vw,4.5rem) clamp(1.5rem,5vh,3.5rem)}}.stage__bg{position:absolute;inset:0;z-index:0;background-image:var(--card-bg);background-size:cover;background-position:center;background-repeat:no-repeat}.stage__code{position:absolute;top:0;right:0;bottom:0;width:62%;z-index:1;pointer-events:none;background-image:var(--code-bg);background-repeat:no-repeat;background-size:cover;background-position:left top;-webkit-mask-image:linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 78%, rgba(0, 0, 0, 0.08) 100%);mask-image:linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 78%, rgba(0, 0, 0, 0.08) 100%)}@media only screen and (min-width: 992px){.stage__code{width:55%;background-size:auto 108%;background-position:left top}}.stage__connectors{display:none;position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}@media only screen and (min-width: 992px){.stage__connectors{display:block}}.stage__connectors path{fill:none;stroke:#c9dbe4;stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(142, 194, 212, 0.35));opacity:0;transition:opacity 280ms ease}.stage__connectors.is-ready path{opacity:1}@media(prefers-reduced-motion: reduce){.stage__connectors path{transition:none}}.stage__logo{position:relative;z-index:4;display:block;width:clamp(8rem,22vw,14rem);height:auto;margin:0}@media only screen and (min-width: 992px){.stage__logo{position:absolute;top:clamp(1.15rem,3.5vh,2.5rem);left:clamp(1.5rem,5vw,4.5rem);width:clamp(8rem,15vw,13rem);margin:0}}.brand,.showcase{position:relative;z-index:3;display:flex;flex-direction:column;min-width:0}@media only screen and (min-width: 992px){.brand{grid-area:brand;justify-content:center;align-self:stretch;min-height:0}.showcase{grid-area:showcase;position:relative;justify-content:center;align-self:stretch;min-height:0;gap:0}}.brand__name,.brand__llc,.brand__services,.showcase__title{font-family:"EW Rulebook","Montserrat",system-ui,sans-serif;font-weight:700;color:#eef4f7}.brand__name{margin:0;font-size:clamp(2.35rem,6.2vw,5.15rem);letter-spacing:.04em;line-height:.95}.brand__llc{margin:.2rem 0 0;font-size:clamp(1.25rem,3.2vw,3.35rem);letter-spacing:.03em;line-height:1.05}.brand__entity{align-items:center;gap:0;width:100%;margin:.45rem 0 .2rem}.brand__entity .node{display:none}@media only screen and (min-width: 992px){.brand__entity{width:min(100%,28rem + 74px)}.brand__entity .node{display:block}}.brand__services{margin:.35rem 0 0;padding:0;list-style:none;font-size:clamp(1.12rem,2.45vw,2.45rem);letter-spacing:.01em;line-height:1.15}.brand__services li{align-items:center;gap:.7rem;margin:.42rem 0}.brand__services li::before{content:"";width:.55em;height:.55em;border:1.5px solid #eef4f7;border-radius:50%;flex:0 0 auto}.brand__links{align-items:center;gap:.9rem 1.4rem;margin-top:.85rem}.brand__link{display:inline-block;font-size:clamp(.88rem,1.4vw,1.05rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b4cbd5;border-bottom:1.5px solid #c9dbe4;padding-bottom:.15rem;width:fit-content;transition:color 160ms ease,border-color 160ms ease}.brand__link--quote{color:#8ec2d4}.brand__link:focus-visible{outline:2px solid #8ec2d4;outline-offset:4px}.rule{flex:1 1 auto;height:1.5px;background:linear-gradient(90deg, #c9dbe4, rgba(201, 219, 228, 0.35));box-shadow:0 0 6px rgba(142,194,212,.35)}.node{flex:0 0 auto;width:15px;height:15px;border:2px solid #d7e6ee;border-radius:50%;background:radial-gradient(circle at center, #d7e6ee 0 3px, transparent 3.5px);box-shadow:0 0 10px rgba(215,230,238,.45)}.stage__junction{display:none;position:absolute;z-index:3;left:36%;top:50%;transform:translate(-50%, -50%);will-change:transform}@media only screen and (min-width: 992px){.stage__junction{display:block}}.stage__pulse{display:none;position:absolute;z-index:4;width:8px;height:8px;border-radius:50%;pointer-events:none;left:0;top:0;background:#d7e6ee;box-shadow:0 0 6px 2px rgba(215,230,238,.95),0 0 16px 6px rgba(142,194,212,.5);transform:translate(-50%, -50%);opacity:0;will-change:transform,opacity,left,top;transition:opacity 160ms ease}@media only screen and (min-width: 992px){.stage__pulse{display:block}}.stage__pulse.is-on{opacity:1;animation:pulse-travel 1.1s ease-in-out infinite}.showcase{gap:1rem;margin-top:.15rem}@media only screen and (min-width: 992px){.showcase{margin-top:0;padding-left:.5rem}}.showcase__card{position:relative;min-width:0;width:min(100%,42rem);max-width:42rem;padding:.95rem 1.35rem 1rem 1.45rem;background:rgba(13,18,24,.68);border:1px solid rgba(201,219,228,.28);border-radius:2px;box-shadow:0 0 0 1px rgba(13,18,24,.35),0 12px 28px rgba(0,0,0,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);will-change:transform}.showcase__card::after{content:"";position:absolute;inset:-1px;border:1.5px solid rgba(0,0,0,0);border-radius:inherit;pointer-events:none;z-index:5}.showcase__card.is-hit::after{animation:card-hit .3s ease-in-out var(--hit-flashes, 3)}@media only screen and (min-width: 992px){.showcase__card{position:absolute;width:min(100%,44rem);max-width:44rem}.showcase__card:nth-child(1){top:2%;left:0}.showcase__card:nth-child(2){top:26%;left:7%}.showcase__card:nth-child(3){top:50%;left:1%}.showcase__card:nth-child(4){top:74%;left:5%}}.showcase__card-node{display:none;position:absolute;left:0;top:50%;z-index:2;transform:translate(-50%, -50%)}@media only screen and (min-width: 992px){.showcase__card-node{display:block}}.showcase__title{margin:0;font-size:clamp(1.25rem,3.1vw,2.2rem);letter-spacing:.02em;line-height:1.08}.showcase__blurb{margin:.35rem 0 0;font-family:"EW Rulebook","Montserrat",system-ui,sans-serif;font-size:clamp(.85rem,1.3vw,1.02rem);font-weight:600;letter-spacing:.03em;line-height:1.4;color:#b4cbd5}@media(hover: hover){.brand__link:hover{color:#8ec2d4;border-color:#8ec2d4}}@media only screen and (min-width: 992px)and (max-height: 600px){.stage__logo{width:6rem}.brand__name{font-size:2.35rem}.brand__llc{font-size:1.35rem}.showcase__title{font-size:1.45rem}.showcase__blurb{font-size:.88rem}.showcase__card{padding:.75rem 1rem .8rem 1.15rem}}.stage__logo,.brand__copy,.brand__entity,.brand__services,.brand__links{animation:rise 700ms ease both}.showcase__card{animation:fade-in 700ms ease both}.showcase__card:nth-child(1){animation-delay:60ms}.showcase__card:nth-child(2){animation-delay:110ms}.showcase__card:nth-child(3){animation-delay:160ms}.showcase__card:nth-child(4){animation-delay:210ms}.node{animation:pulse 2.8s ease-in-out infinite}@media(prefers-reduced-motion: reduce){.stage__logo,.brand__copy,.brand__entity,.brand__services,.brand__links,.showcase__card,.node,.stage__pulse{animation:none}.stage__pulse{display:none}.showcase__card.is-hit::after{animation:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pulse{0%,100%{box-shadow:0 0 8px rgba(215,230,238,.35)}50%{box-shadow:0 0 14px rgba(215,230,238,.8)}}@keyframes pulse-travel{0%,100%{box-shadow:0 0 6px 2px rgba(215,230,238,.85),0 0 14px 5px rgba(142,194,212,.4)}50%{box-shadow:0 0 10px 4px #d7e6ee,0 0 22px 8px rgba(142,194,212,.65)}}@keyframes card-hit{0%,100%{border-color:rgba(0,0,0,0);box-shadow:none}40%{border-color:rgba(215,230,238,.98);box-shadow:0 0 16px rgba(142,194,212,.5)}70%{border-color:rgba(13,18,24,.9);box-shadow:none}}.site-page{position:relative;isolation:isolate;min-height:100svh;overflow:auto;background:#0d1218}.site-page__bg{position:fixed;inset:0;z-index:0;background-image:var(--card-bg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.55}.site-nav,.about,.quote,.portfolio,.contact-page,.invoice-pay{position:relative;z-index:1}.site-nav{align-items:center;gap:.85rem 1rem;padding:1.25rem 1.5rem 0;max-width:68rem;margin:0 auto;flex-wrap:wrap}.site-nav__home{align-items:center;gap:.7rem;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b4cbd5;transition:color 160ms ease}.site-nav__logo{width:2.4rem;height:auto}.site-nav__links{align-items:center;gap:.75rem 1.35rem;flex-wrap:wrap;flex:1 1 100%;justify-content:flex-start}@media only screen and (min-width: 768px){.site-nav__links{flex:0 1 auto;justify-content:flex-end}}.site-nav__link{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b4cbd5;border-bottom:1.5px solid rgba(0,0,0,0);padding-bottom:.1rem;white-space:nowrap;transition:color 160ms ease,border-color 160ms ease}.site-nav__link--quote{color:#8ec2d4;border-bottom-color:#c9dbe4}.site-nav__link[aria-current=page]{color:#eef4f7;border-bottom-color:#c9dbe4}.site-nav__link--quote[aria-current=page]{color:#8ec2d4}.about,.quote,.portfolio,.contact-page{max-width:68rem;margin:0 auto;padding:1.5rem 1.5rem 3.5rem}.portfolio-project,.portfolio-card{background:rgba(13,18,24,.9);border:1.5px solid rgba(142,194,212,.32);backdrop-filter:blur(14px)}.about__header{gap:1.75rem;margin-bottom:2.25rem;padding-bottom:1.75rem;border-bottom:1.5px solid #c9dbe4}@media only screen and (min-width: 992px){.about__header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.about__intro{gap:.35rem;min-width:0}.about__name,.quote__title,.portfolio__title,.contact-page__title{margin:0;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;letter-spacing:.02em;line-height:1.05;color:#eef4f7}.about__role,.about__place{margin:0;color:#b4cbd5;font-weight:600;letter-spacing:.04em}.about__role{text-transform:uppercase;font-size:.92rem;letter-spacing:.14em;margin-top:.45rem}.about__email{margin-top:.7rem;color:#eef4f7;font-weight:600;width:fit-content;transition:color 160ms ease}.about__portrait{margin:0;flex:0 0 auto;width:min(100%,16rem)}@media only screen and (min-width: 992px){.about__portrait{width:16rem}}.about__portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1.5px solid #8ec2d4;background:rgba(13,18,24,.6)}.about__portrait-placeholder{align-items:center;gap:.7rem;aspect-ratio:1;border:1.5px dashed #8ec2d4;background:rgba(13,18,24,.55);color:#b4cbd5;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:1.25rem}.about__portrait-mark{width:5.5rem;height:auto;opacity:.85}.about__section,.quote__header,.portfolio__header,.portfolio-project__section,.contact-page__header,.contact-page__section{margin-bottom:2rem}.about__section h2,.about__section h3,.quote__header h2,.quote__header h3,.portfolio__header h2,.portfolio__header h3,.portfolio-project__section h2,.portfolio-project__section h3,.contact-page__header h2,.contact-page__header h3,.contact-page__section h2,.contact-page__section h3{margin:0 0 .85rem;font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8ec2d4}.about__section p,.quote__header p,.portfolio__header p,.portfolio-project__section p,.contact-page__header p,.contact-page__section p{margin:0 0 1rem;max-width:48rem;font-size:1.05rem;line-height:1.65;color:#eef4f7}.about__section p:last-child,.quote__header p:last-child,.portfolio__header p:last-child,.portfolio-project__section p:last-child,.contact-page__header p:last-child,.contact-page__section p:last-child{margin-bottom:0}.quote__lede a,.portfolio-project__section a,.portfolio-project__live{color:#8ec2d4;border-bottom:1px solid #c9dbe4}.about__reach{margin:.7rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem}.about__reach .about__email{margin-top:0}.about__reach-sep{color:#b4cbd5}.about__email--light{margin-top:0;color:#b4cbd5;font-size:.95rem}.contact-page__lede,.quote__lede{margin:.75rem 0 0;max-width:42rem;font-size:1.05rem;line-height:1.65;color:#eef4f7}.quote__expect{margin:1.5rem 0 0;max-width:44rem;padding:1.15rem 1.2rem 1.05rem;border:1.5px solid rgba(201,219,228,.35);background:rgba(13,18,24,.45)}.quote__expect h2{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8ec2d4}.quote__expect p,.quote__expect li{margin:0 0 .7rem;line-height:1.6;color:#eef4f7}.quote__expect ol{margin:0 0 .7rem;padding-left:1.2rem}.quote__expect li:last-child,.quote__expect p:last-child{margin-bottom:0}.quote-form__domain{margin:0;padding:0;border:0}.quote-form__domain legend{margin:0 0 .45rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b4cbd5}.quote-form__domain p{margin:0 0 .7rem;line-height:1.5}.quote-form__choice{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 .55rem;font-weight:600;letter-spacing:0;text-transform:none;color:#eef4f7}.quote-form__choice input{margin-top:.3rem;width:auto;min-height:0}.contact-page__email{color:#eef4f7;font-weight:700;font-size:clamp(1.05rem,2.2vw,1.55rem);letter-spacing:.02em;word-break:break-word;border-bottom:1.5px solid #c9dbe4;width:fit-content;transition:color 160ms ease,border-color 160ms ease}.contact-page__alt{color:#b4cbd5;font-weight:600}.contact-page__alt a{color:#b4cbd5;border-bottom:1px solid #c9dbe4;transition:color 160ms ease,border-color 160ms ease}.contact-page__place{margin:0 0 .45rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.92rem;color:#8ec2d4}.contact-page__maps{color:#eef4f7;font-weight:600;border-bottom:1.5px solid #c9dbe4;width:fit-content;transition:color 160ms ease,border-color 160ms ease}.contact-page__cta{margin-top:1.25rem}.contact-page__quote-btn{height:2.4rem;border:1.5px solid #8ec2d4;background:rgba(0,0,0,0);color:#8ec2d4;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;width:auto;padding:0 1.25rem}.about__cta{margin-top:1.25rem}.about__quote-btn,.contact-page__quote-btn,.quote-form__submit,.portfolio-project__visit{height:2.4rem;border:1.5px solid #8ec2d4;background:rgba(0,0,0,0);color:#8ec2d4;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;width:auto;padding:0 1.25rem}.about__focus,.portfolio-project__list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:.35rem 2rem}@media only screen and (min-width: 768px){.about__focus,.portfolio-project__list{grid-template-columns:1fr 1fr}}.about__focus li,.portfolio-project__list li{align-items:center;gap:.7rem;color:#eef4f7;font-size:1.02rem}.about__focus li::before,.portfolio-project__list li::before{content:"";width:.55em;height:.55em;border:1.5px solid #b4cbd5;border-radius:50%;flex:0 0 auto}.about__tools,.portfolio-project__stack{margin:0}.about__tools-row,.portfolio-project__stack-row{gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(201,219,228,.28);flex-wrap:wrap}.about__tools-row dt,.portfolio-project__stack-row dt{flex:0 0 8.5rem;margin:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.about__tools-row dd,.portfolio-project__stack-row dd{flex:1 1 16rem;margin:0;color:#eef4f7;line-height:1.5}.portfolio__back{margin:0 0 1.1rem}.portfolio__back-link{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b4cbd5;border-bottom:1.5px solid rgba(0,0,0,0);padding-bottom:.1rem;width:fit-content;transition:color 160ms ease,border-color 160ms ease}.portfolio-category{margin-bottom:2.25rem}.portfolio-category__title{margin:0 0 1rem;font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8ec2d4}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0;padding:0;list-style:none}@media only screen and (min-width: 768px){.portfolio-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media only screen and (min-width: 1200px){.portfolio-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}.portfolio-card{min-width:0;overflow:hidden;border-radius:10px;color:inherit;transition:border-color 160ms ease,transform 160ms ease}.portfolio-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#070707;border-bottom:1px solid rgba(142,194,212,.22)}.portfolio-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.portfolio-card__body{gap:.75rem;padding:1rem 1.1rem 1.15rem}.portfolio-card__identity{align-items:center;gap:.85rem;min-width:0}.portfolio-card__logo{flex:0 0 auto;width:3.1rem;height:3.1rem;padding:.35rem;border-radius:50%;border:1.5px solid rgba(142,194,212,.35);background:rgba(7,10,14,.92);object-fit:contain}.portfolio-card__titles{gap:.2rem;min-width:0}.portfolio-card__kind{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8ec2d4}.portfolio-card__name{margin:0;font-size:1.12rem;font-weight:800;letter-spacing:.02em;line-height:1.2;color:#eef4f7}.portfolio-card__summary{font-size:.92rem;line-height:1.5;color:#b4cbd5}.portfolio-card__more{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8ec2d4}.portfolio-project{padding:1.35rem 1.15rem 1.5rem;border-radius:10px}@media only screen and (min-width: 768px){.portfolio-project{padding:1.75rem 1.75rem 1.85rem}}.portfolio-project__masthead{align-items:center;gap:1.25rem 1.5rem;margin-bottom:1.5rem}.portfolio-project__logo{flex:0 0 auto;width:5.5rem;height:auto}.portfolio-project__intro{gap:.3rem;min-width:0}.portfolio-project__kind{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.portfolio-project__name{margin:0;font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800;letter-spacing:.02em;line-height:1.1;color:#eef4f7}.portfolio-project__place{margin:0;color:#b4cbd5;font-weight:600;letter-spacing:.04em}.portfolio-project__live{margin-top:.45rem;width:fit-content;font-weight:600;transition:color 160ms ease,border-color 160ms ease}.portfolio-shots{align-items:flex-start;justify-content:center;gap:1.25rem;margin:0 0 2rem}@media only screen and (min-width: 768px){.portfolio-shots{justify-content:flex-start}}.portfolio-shots__desktop,.portfolio-shots__mobile{margin:0;min-width:0}.portfolio-shots__desktop{display:none;flex:1 1 16rem}@media only screen and (min-width: 768px){.portfolio-shots__desktop{display:block}}.portfolio-shots__mobile{flex:0 0 auto;width:min(100%,16rem)}@media only screen and (min-width: 768px){.portfolio-shots__mobile{display:none}}@media only screen and (min-width: 992px){.portfolio-shots__mobile{display:block;width:14rem}}.portfolio-shots img{display:block;width:100%;border:1.5px solid #8ec2d4;background:#070707}.portfolio-shots figcaption{margin-top:.45rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.portfolio-project__actions{align-items:center;gap:.85rem 1.1rem;margin-top:1.75rem}.quote__notice,.quote__alert{margin:0 0 1.25rem;line-height:1.5}.quote__notice{color:#8ec2d4}.quote__alert,.quote-form__error{color:#e8b4b4}.quote-form{gap:1rem;max-width:48rem}.quote-form__grid{flex-direction:column;gap:1rem}@media only screen and (min-width: 768px){.quote-form__grid{flex-direction:row}}.quote-form__label{display:flex;flex-direction:column;gap:.4rem;min-width:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.quote-form__label input,.quote-form__label select,.quote-form__label textarea{width:100%;min-width:0;min-height:2.4rem;padding:.55rem .75rem;border:1.5px solid rgba(201,219,228,.35);border-radius:4px;background:rgba(13,18,24,.7);color:#eef4f7;font:inherit;letter-spacing:.02em;text-transform:none;font-weight:500;color-scheme:dark}.quote-form__label textarea{min-height:10rem;resize:vertical}.quote-form__label input:focus,.quote-form__label select:focus,.quote-form__label textarea:focus{outline:2px solid #8ec2d4;outline-offset:2px;border-color:#8ec2d4}.quote-form__error{font-size:.78rem;letter-spacing:.04em;text-transform:none;font-weight:600}.quote-form__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-form__actions{margin-top:.35rem}.quote-admin__header{margin-bottom:1.5rem}.quote-admin__name{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.quote-admin__meta{margin:.4rem 0 0;color:#b4cbd5;font-weight:600}.quote-admin__facts{margin:0 0 1.75rem}.quote-admin__row{gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(201,219,228,.28);flex-wrap:wrap}.quote-admin__row dt{flex:0 0 8.5rem;margin:0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.quote-admin__row dd{flex:1 1 16rem;margin:0;color:#eef4f7;line-height:1.5}.quote-admin__decide{gap:1rem;margin-top:.5rem}.quote-admin__rates{gap:1.25rem;align-items:flex-end}.quote-admin__actions{width:100%;align-items:center;margin-top:1.25rem}.quote-admin__body{margin-bottom:1.75rem}.quote-admin__body h2{margin:0 0 .85rem;font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8ec2d4}.quote-admin__body p{margin:0 0 1rem;max-width:48rem;font-size:1.05rem;line-height:1.65;color:#eef4f7}.site-nav__home:focus-visible,.site-nav__link:focus-visible,.about__email:focus-visible,.about__quote-btn:focus-visible,.contact-page__email:focus-visible,.contact-page__alt a:focus-visible,.contact-page__maps:focus-visible,.contact-page__quote-btn:focus-visible,.quote-form__submit:focus-visible,.quote__lede a:focus-visible,.portfolio__back-link:focus-visible,.portfolio-card:focus-visible,.portfolio-project__live:focus-visible,.portfolio-project__visit:focus-visible,.portfolio-project__section a:focus-visible,.portfolio-shots a:focus-visible{outline:2px solid #8ec2d4;outline-offset:4px}@media(hover: hover){.site-nav__home:hover,.site-nav__link:hover,.about__email:hover,.contact-page__email:hover,.contact-page__alt a:hover,.contact-page__maps:hover,.quote__lede a:hover,.portfolio__back-link:hover,.portfolio-project__live:hover,.portfolio-project__section a:hover{color:#8ec2d4}.site-nav__link:hover,.site-nav__link--quote:hover,.portfolio__back-link:hover{border-bottom-color:#8ec2d4}.about__quote-btn:hover,.contact-page__quote-btn:hover,.quote-form__submit:hover,.portfolio-project__visit:hover{color:#eef4f7;background:rgba(142,194,212,.12)}.portfolio-card:hover{border-color:#8ec2d4;transform:translateY(-3px)}}@media(prefers-reduced-motion: reduce){.portfolio-card{transition:border-color 160ms ease}}.login-dialog{width:min(26rem,100vw - 2rem);padding:0;border:1.5px solid #c9dbe4;background:rgba(13,18,24,.96);color:#eef4f7;box-shadow:0 0 32px rgba(8,12,16,.65)}.login-dialog::backdrop{background:rgba(8,12,16,.72)}.login-dialog__card{padding:1.75rem 1.6rem 1.5rem}.login-dialog__title{margin:0 0 1.15rem;font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8ec2d4}.login-dialog__error{margin:0 0 1rem;color:#e8b4b4;font-size:.92rem}.login-dialog__form{gap:.95rem}.login-dialog__label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.login-dialog__label input{width:100%;padding:.7rem .8rem;border:1.5px solid rgba(201,219,228,.35);border-radius:4px;background:rgba(13,18,24,.7);color:#eef4f7;font:inherit;letter-spacing:.02em;text-transform:none;font-weight:500}.login-dialog__label input:focus{outline:2px solid #8ec2d4;outline-offset:2px;border-color:#8ec2d4}.login-dialog__actions{gap:.75rem;margin-top:.35rem}.quote-thanks__copy{margin:0 0 1.15rem;line-height:1.55;color:#eef4f7}.login-dialog__submit,.login-dialog__cancel{height:2.4rem;border:1.5px solid #c9dbe4;background:rgba(0,0,0,0);color:#eef4f7;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.login-dialog__submit{border-color:#8ec2d4;color:#8ec2d4}.login-dialog__cancel{color:#b4cbd5;border-color:rgba(201,219,228,.35)}@media(hover: hover){.login-dialog__submit:hover{color:#eef4f7;background:rgba(142,194,212,.12)}.login-dialog__cancel:hover{color:#eef4f7;border-color:#c9dbe4}}.tracker{position:relative;isolation:isolate;min-height:100svh;overflow:auto;background:#0d1218}.tracker__bg{position:fixed;inset:0;z-index:0;background-image:var(--card-bg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.55}.tracker__nav,.tracker__panel{position:relative;z-index:1}.tracker__nav{align-items:center;gap:1rem;padding:1.25rem 1.5rem 0;max-width:68rem;margin:0 auto}.tracker__nav-actions{align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.tracker__home{align-items:center;gap:.7rem;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b4cbd5;transition:color 160ms ease}.tracker__logo{width:2.4rem;height:auto}.tracker__panel{max-width:68rem;margin:0 auto;padding:1.5rem 1.5rem 3.5rem}.tracker__flash,.tracker__banner,.tracker__empty{margin:0 0 1.25rem;color:#b4cbd5;line-height:1.5}.tracker__flash{color:#e8b4b4}.tracker__notice{margin:0 0 1.25rem;color:#8ec2d4;line-height:1.5}.tracker__banner a{color:#8ec2d4;border-bottom:1px solid #c9dbe4}.tracker__toolbar{gap:1rem 1.5rem;align-items:flex-end;margin-bottom:1.75rem}.tracker__select-form,.tracker__add-form{gap:.7rem;align-items:flex-end;min-width:min(100%,18rem)}.tracker__label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.tracker__select,.tracker__label input{width:100%;min-height:2.4rem;padding:.55rem .75rem;border:1.5px solid rgba(201,219,228,.35);border-radius:4px;background:rgba(13,18,24,.7);color:#eef4f7;font:inherit;letter-spacing:.02em;text-transform:none;font-weight:500}.tracker__select:focus,.tracker__label input:focus{outline:2px solid #8ec2d4;outline-offset:2px;border-color:#8ec2d4}.tracker__stats{gap:1rem;margin-bottom:1.35rem}.tracker__stat{flex:1 1 14rem;padding:1.15rem 1.2rem 1.05rem;border:1.5px solid rgba(201,219,228,.35);background:rgba(13,18,24,.55)}.tracker__stat h2{margin:0 0 .45rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.tracker__hours{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:.02em;line-height:1.1;color:#eef4f7}.tracker__clock,.tracker__meta{margin:.35rem 0 0;color:#b4cbd5;font-weight:600}.tracker__clock{font-family:"IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em}.tracker__password-form{gap:1rem;max-width:24rem}.tracker__rate-form{gap:.7rem;align-items:flex-end;margin:-0.5rem 0 1.5rem}.tracker__rate-field{align-items:center;gap:.45rem}.tracker__rate-prefix,.tracker__rate-suffix{color:#b4cbd5;font-weight:600}.tracker__rate-field input{width:8.5rem}.tracker__controls{gap:.75rem;margin:0 0 2rem}.tracker__btn,.tracker__signout{height:2.4rem;border:1.5px solid #c9dbe4;background:rgba(0,0,0,0);color:#eef4f7;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.tracker__signout{color:#b4cbd5;border-color:rgba(201,219,228,.35)}.tracker__btn--start{border-color:#8ec2d4;color:#8ec2d4}.tracker__btn--stop{border-color:#c07070;color:#e8b4b4}.tracker__btn:disabled{opacity:.4;cursor:not-allowed}.tracker__log{width:100%;border-collapse:collapse;color:#eef4f7}.tracker__log caption{caption-side:top;text-align:left;margin-bottom:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.tracker__log th,.tracker__log td{padding:.7rem .55rem;border-bottom:1px solid rgba(201,219,228,.28);text-align:left;font-size:.95rem}.tracker__log th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.tracker__tag{margin-left:.45rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8ec2d4}.tracker__invoices{margin:2rem 0 0;padding:0;list-style:none}.tracker__invoices-label{margin-bottom:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.tracker__invoice-link{padding:.7rem 0;border-bottom:1px solid rgba(201,219,228,.28);color:#eef4f7;font-weight:600}.hits-week{margin:0 0 2rem}.hits-week__title{margin:0 0 .85rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.hits-week__chart{align-items:flex-end;gap:.45rem;min-height:8.5rem;padding:.75rem .4rem 0;border:1.5px solid rgba(201,219,228,.35);background:rgba(13,18,24,.55)}.hits-week__day{flex:1 1 0;align-items:center;gap:.3rem;min-width:0}.hits-week__bar{display:block;width:100%;max-width:2rem;background:#8ec2d4;box-shadow:0 0 8px rgba(142,194,212,.35)}.hits-week__count,.hits-week__label{font-size:.7rem;font-weight:600;letter-spacing:.04em;color:#b4cbd5}.hits-week__label{text-transform:uppercase;letter-spacing:.1em}.hits-log{margin-bottom:2rem}.hits-log th,.hits-log td{white-space:nowrap}.hits-log td:nth-child(2),.hits-log td:nth-child(3){min-width:10rem;white-space:normal}.portfolio-admin-form{display:flex;flex-direction:column;gap:1rem;max-width:48rem}.portfolio-admin-form__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr));gap:1rem}.tracker__label textarea,.tracker__label select,.tracker__label input[type=file]{width:100%;padding:.55rem .75rem;border:1.5px solid rgba(201,219,228,.35);border-radius:4px;background:rgba(13,18,24,.7);color:#eef4f7;font:inherit;letter-spacing:.02em;text-transform:none;font-weight:500}.tracker__label textarea{min-height:6rem;resize:vertical;line-height:1.45}.portfolio-admin-form__check{justify-content:flex-end}.portfolio-admin-form__check input[type=checkbox]{width:auto;min-height:auto;margin-top:.55rem}.portfolio-admin-form__uploads{display:flex;flex-wrap:wrap;gap:1rem}.portfolio-admin-form__thumb{display:block;max-width:12rem;max-height:7rem;width:auto;height:auto;margin:.35rem 0;border:1px solid rgba(201,219,228,.28)}.portfolio-admin-form__shots{margin:0;padding:1rem 1.1rem .4rem;border:1.5px solid rgba(201,219,228,.35);background:rgba(13,18,24,.35)}.portfolio-admin-form__shots legend{padding:0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.portfolio-admin-form__shot{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(201,219,228,.18)}.portfolio-admin-form__shot:last-child{border-bottom:0}@media(hover: hover){.tracker__home:hover{color:#8ec2d4}.tracker__btn:hover:not(:disabled),.tracker__signout:hover{color:#eef4f7;border-color:#c9dbe4}.tracker__btn--start:hover:not(:disabled){color:#eef4f7;background:rgba(142,194,212,.12)}.tracker__btn--stop:hover:not(:disabled){background:rgba(192,112,112,.12)}.tracker__banner a:hover,.tracker__invoice-link:hover{color:#8ec2d4}}.tracker__home:focus-visible,.tracker__select:focus-visible,.tracker__label input:focus-visible,.tracker__btn:focus-visible,.tracker__signout:focus-visible,.tracker__invoice-link:focus-visible{outline:2px solid #8ec2d4;outline-offset:4px}.invoice-doc{margin-bottom:1.75rem;padding:1.5rem 1.35rem 1.35rem;border:1.5px solid rgba(201,219,228,.35);background:rgba(13,18,24,.62)}.invoice-doc__brand{gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1.5px solid #c9dbe4;align-items:flex-start}.invoice-doc__logo{width:3rem;height:auto;margin-bottom:.7rem}.invoice-doc__company{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.invoice-doc__meta{margin:.25rem 0 0;color:#b4cbd5;font-weight:600}.invoice-doc__kicker,.invoice-doc__parties h2,.invoice-doc__notes h2{margin:0 0 .4rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8ec2d4}.invoice-doc__number{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:.04em}.invoice-doc__paid{margin:.45rem 0 0;color:#4a8a6a;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.invoice-doc__id{text-align:left}@media only screen and (min-width: 768px){.invoice-doc__id{text-align:right}}.invoice-doc__parties{gap:2rem;margin-bottom:1.5rem}.invoice-doc__parties p{margin:0 0 .25rem;color:#eef4f7}.invoice-doc__table{width:100%;border-collapse:collapse;margin-bottom:1.25rem}.invoice-doc__table th,.invoice-doc__table td{padding:.65rem .4rem;border-bottom:1px solid rgba(201,219,228,.28);text-align:left;font-size:.95rem}.invoice-doc__table th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#b4cbd5}.invoice-doc__table th:nth-child(n+3),.invoice-doc__table td:nth-child(n+3){text-align:right}.invoice-doc__totals{margin:0 0 0 0;max-width:22rem;margin-left:auto}.invoice-doc__totals div{padding:.35rem 0}.invoice-doc__totals dt{color:#b4cbd5;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.invoice-doc__totals dd{margin:0;font-weight:700}.invoice-doc__due{margin-top:.4rem;padding-top:.7rem;border-top:1.5px solid #c9dbe4}.invoice-doc__due dd{font-size:1.35rem}.invoice-doc__pay{margin:2rem 0 0;text-align:center}.invoice-doc__pay-btn{display:inline-block;padding:1rem 1.75rem;border:0;border-radius:4px;background:#8ec2d4;color:#0d1218;font-family:inherit;font-size:1.2rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}.invoice-doc__pay-btn:hover,.invoice-doc__pay-btn:focus-visible{color:#0d1218;filter:brightness(1.08)}.invoice-doc__notes{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid rgba(201,219,228,.28)}.invoice-doc__notes p{margin:0 0 .6rem;color:#eef4f7;line-height:1.55}.invoice-form{gap:1rem}.invoice-form__grid{gap:1rem}.invoice-form textarea{width:100%;min-height:5.5rem;padding:.7rem .8rem;border:1.5px solid rgba(201,219,228,.35);border-radius:4px;background:rgba(13,18,24,.7);color:#eef4f7;font:inherit;resize:vertical}.invoice-form textarea:focus{outline:2px solid #8ec2d4;outline-offset:2px;border-color:#8ec2d4}.invoice-pay{position:relative;z-index:1;max-width:68rem;margin:0 auto;padding:1.5rem 1.5rem 3.5rem}.invoice-pay__actions{gap:.75rem;margin-top:1.25rem}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0d1218;color:#eef4f7}body{font-family:"Montserrat",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}address{font-style:normal}
