.principle{min-height:545px;background:#242421;color:#eeece7;display:grid;grid-template-columns:1fr 1.6fr;padding-top:105px;padding-bottom:105px;position:relative;overflow:hidden}.principle:after{content:"";position:absolute;right:-9%;top:-30%;width:60%;aspect-ratio:1;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 45px #ffffff05,0 0 0 95px #ffffff03}.principle .eyebrow{color:#aaa8a1}.principle .eyebrow-line{background:#c17b63}.principle-index{display:block;margin-top:65px;font:9px var(--mono);color:#888780}.principle-main{position:relative;align-self:center;z-index:1}.principle-main>p:first-child{font-size:clamp(49px,7vw,88px);line-height:.98;letter-spacing:-.06em;margin:0}.principle-main em{color:#c58269}.principle-second{font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.06em;margin:25px 0 0 13%;color:#d0cec7}.principle-second em{color:#a8a69f}.principle-mark{position:absolute;right:4%;top:-25%;font:200px var(--serif);color:#ffffff0b}
.process{background:var(--paper)}.process-list{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.process-item{min-height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:0 14px}.process-item:nth-child(odd){border-right:1px solid var(--line)}.process-item:nth-child(even){padding-left:30px}.process-item span{font:9px var(--mono);color:var(--accent)}.process-item p{font-size:13px;margin:0}
.tools{padding-top:118px;padding-bottom:125px;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.tools h2{margin-top:31px}.tool-groups{display:flex;flex-direction:column;gap:44px;padding-top:25px}.tool-group h3{font:9px var(--mono);letter-spacing:.04em;color:#77756e;font-weight:400;margin-bottom:16px}.tool-tags{display:flex;flex-wrap:wrap;gap:8px}.tool-tags span{border:1px solid #c9c6bf;padding:9px 11px;font-size:10px;color:#484742}.tool-tags-light span{border-color:#d5d2ca;color:#77756f}
.about-me{padding-top:120px;padding-bottom:130px;display:grid;grid-template-columns:.65fr 1.35fr;gap:9%;background:#e8e6df}.about-label .side-index{display:block;margin-top:65px}.about-content h2{font-size:clamp(38px,4.8vw,62px);margin-bottom:32px}.about-content p{font-size:13px;line-height:1.9;color:#66645e;max-width:610px}.about-content p+p{margin-bottom:0}
.contact{background:#242421;color:var(--paper);padding-top:76px;padding-bottom:57px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact .eyebrow{color:#b7b5ad}.contact .eyebrow-line{background:#bd7b64}.contact-index{font:8px var(--mono);color:#85837d;letter-spacing:.07em}.contact-main{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:10%;padding:85px 0 65px}.contact h2{font-size:clamp(58px,8.5vw,110px);font-weight:500;line-height:.89;letter-spacing:-.075em;margin:0}.contact h2 em{color:#c58269}.contact-action{max-width:290px}.contact-action p{font-size:13px;line-height:1.8;color:#aaa8a1;margin:0 0 24px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#c58269;color:#171715}.contact-details{border-top:1px solid #454541;padding-top:19px;display:flex;gap:48px;font:9px var(--mono);letter-spacing:.05em;color:#aaa8a1}.contact-details a:hover{color:#c58269}
.site-footer{min-height:86px;background:#242421;color:var(--paper);padding:0 6vw;display:flex;align-items:center;gap:35px}.footer-brand{font-size:9px}.footer-brand .mark{font-size:23px}.site-footer>p{font-size:9px;color:#8f8d86;margin:0}.site-footer nav{display:flex;gap:21px;margin-left:auto}.site-footer nav a{font-size:9px;color:#aaa8a1}.site-footer small{font:8px var(--mono);color:#77756f;margin-left:15px}
.case-dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(860px,calc(100% - 28px));max-height:min(90vh,950px);box-shadow:0 30px 100px #0005}.case-dialog::backdrop{background:#171715c9;backdrop-filter:blur(4px)}.dialog-inner{padding:clamp(24px,5vw,58px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-close{border:1px solid var(--line);background:transparent;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.dialog-close:hover{background:var(--ink);color:var(--paper)}.dialog-inner h2{font-size:clamp(32px,5vw,54px);letter-spacing:-.06em;line-height:1.03;font-weight:500;margin:35px 0 16px;max-width:700px}.dialog-lede{max-width:580px;font-size:13px;line-height:1.8;color:#6a6862}.dialog-flow{margin:29px 0 36px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;font:8px var(--mono);letter-spacing:.04em}.dialog-flow b{color:var(--accent);font-size:13px}.case-sections{display:grid;grid-template-columns:1fr 1fr;gap:25px 45px}.case-sections article{border-top:1px solid var(--line);padding-top:12px}.case-sections article span{font:8px var(--mono);letter-spacing:.06em;color:var(--accent)}.case-sections article p{font-size:11px;line-height:1.8;color:#66645e;margin:12px 0 0}.demo-note{border-top:1px solid var(--line);padding-top:15px;margin:30px 0 0;font-size:10px;color:#77756f}
.reveal{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.business-sites{padding-top:115px;padding-bottom:120px}.business-sites .section-heading{margin-bottom:52px}.site-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.site-project{min-width:0}.site-project-art{height:320px;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:18px;transition:transform .4s;isolation:isolate}.site-project-art:hover{transform:translateY(-5px)}.site-art-label,.site-art-footer{font:8px var(--mono);letter-spacing:.08em;position:relative;z-index:2}.site-art-footer{margin-top:auto}.dental-art{background:#dce4df;color:#344841}.dental-art:before{content:"";position:absolute;width:230px;height:230px;right:-48px;top:58px;border:1px solid #4d76664a;border-radius:50%;box-shadow:0 0 0 24px #4d766615,0 0 0 48px #4d76660e}.dental-cross{position:absolute;right:30px;top:88px;width:63px;height:63px;border:1px solid #749187;border-radius:50%;display:grid;place-items:center;font:32px var(--sans);color:#66857a}.site-art-name{font:italic 42px/.94 var(--serif);margin:auto 0 30px 13px;position:relative;z-index:1}.dental-art .site-art-footer{border-top:1px solid #9aada5;padding-top:12px}.plumbing-art{background:#323d46;color:#e9e6de}.plumbing-art:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 47%,#aeb8bd13 47.2%,transparent 47.6%),linear-gradient(25deg,transparent 61%,#aeb8bd16 61.2%,transparent 61.6%)}.plumb-ring{position:absolute;width:200px;height:200px;border:1px solid #b6c0c4;right:-20px;top:66px;border-radius:50%;box-shadow:inset 0 0 0 23px #ffffff08,inset 0 0 0 24px #b6c0c455}.plumbing-art .site-art-name{font:500 37px/.98 var(--sans);letter-spacing:-.06em}.plumbing-art .site-art-footer{border-top:1px solid #6f7a80;padding-top:12px}.barber-art{background:#d4c9b9;color:#262522}.barber-art:before{content:"";position:absolute;inset:11px;border:1px solid #28272338}.barber-circle{position:absolute;right:23px;top:53px;font:76px var(--serif);letter-spacing:-.1em;color:#34302b}.barber-circle span{color:var(--accent)}.barber-art .site-art-name{font:italic 37px/.95 var(--serif);margin-left:4px}.barber-art .site-art-footer{border-top:1px solid #8b8275;padding-top:12px}.site-project-info{padding:18px 0 0}.site-project-kicker{display:flex;justify-content:space-between;gap:8px;font:7px var(--mono);letter-spacing:.06em;color:#78766f}.site-project-info h3{font-size:20px;line-height:1.15;font-weight:500;letter-spacing:-.04em;margin:18px 0 9px}.site-project-info p{font-size:11px;line-height:1.75;color:#716f69;min-height:58px;margin-bottom:17px}.site-project-info .arrow-link{justify-content:space-between;min-width:125px}.site-project-note{border-top:1px solid var(--line);margin:38px 0 0;padding-top:13px;font:8px var(--mono);letter-spacing:.03em;color:#77756f}
@media(max-width:1050px){.principle{padding-left:7vw;padding-right:7vw}.business-sites{padding-left:7vw;padding-right:7vw}.site-projects{gap:18px}.site-project-art{height:280px}}
@media(max-width:740px){.principle{min-height:440px;grid-template-columns:1fr;padding-top:70px;padding-bottom:70px}.principle-index{margin-top:20px}.principle-main{margin-top:54px}.principle-main>p:first-child{font-size:clamp(53px,12vw,78px)}.principle-second{font-size:clamp(42px,9vw,58px);margin-left:9%}.process-list{grid-template-columns:1fr}.process-item:nth-child(odd){border-right:0}.process-item:nth-child(even){padding-left:14px}.process-item{min-height:69px}.process-item p{font-size:12px}.tools{grid-template-columns:1fr;gap:30px}.tool-groups{padding-top:0;gap:32px}.about-me{grid-template-columns:1fr;gap:38px}.about-label .side-index{display:none}.about-content h2{font-size:clamp(39px,9vw,57px)}.contact{padding-top:53px;padding-bottom:37px}.contact-top{align-items:flex-start;gap:20px}.contact-index{display:none}.contact-main{grid-template-columns:1fr;gap:35px;padding:61px 0 45px}.contact h2{font-size:clamp(61px,13vw,94px)}.contact-action{max-width:400px}.contact-details{gap:17px;justify-content:space-between;flex-wrap:wrap;font-size:8px}.site-footer{padding:18px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:12px}.site-footer>p{grid-column:1;grid-row:2}.site-footer nav{grid-column:1/-1;grid-row:3;margin:8px 0 0;gap:23px}.site-footer small{grid-column:2;grid-row:1;text-align:right;margin:0}.case-sections{grid-template-columns:1fr;gap:19px}.dialog-flow{justify-content:flex-start}.dialog-inner{padding:25px 20px}.dialog-inner h2{margin-top:28px}.business-sites{padding-top:82px;padding-bottom:85px}.site-projects{grid-template-columns:1fr;gap:42px}.site-project-art{height:280px}.site-project-info p{min-height:0}.business-sites .section-heading{margin-bottom:37px}}
@media(max-width:390px){.site-project-art{height:245px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
