:root{--paper:#f5f3ee;--ink:#30332f;--muted:#777970;--line:#dddcd4;--orange:#c54c0a;--soft-orange:#f4e9dd;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.page-shell{max-width:1360px;margin:auto;padding:0 64px}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{display:block;width:84px;height:auto;object-fit:contain}
.header-note{font-size:10px;letter-spacing:2px;display:flex;gap:10px;align-items:center;color:var(--muted)}
.status-dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0}
.header-link{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:500}
.header-link:hover{color:var(--orange)}
.header-link .icon{width:17px;height:17px}
.intro{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;padding:90px 0 72px;align-items:center}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px;color:var(--muted)}
.eyebrow>span{width:21px;height:1px;background:var(--orange)}
h1{font-family:var(--display);font-size:clamp(54px,5.6vw,78px);font-weight:500;letter-spacing:-4.5px;line-height:1.12;margin:27px 0 19px}
h1>span{display:block}
.name-dot{color:var(--orange)}
.role{font-size:13px;display:flex;align-items:center;gap:12px}
.role-line{height:17px;width:2px;background:var(--orange)}
.role-separator{color:#a8a99f;margin:0 2px}
.intro-copy{font-size:16px;color:var(--muted);line-height:1.8;margin:29px 0 27px}
.primary-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;border-radius:6px;min-height:49px;padding:0 21px;font-size:13px;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--orange);color:#fff}
.button-primary:hover{background:#ad4006}
.button-secondary{background:transparent;border-color:#d1d2c9;color:var(--ink)}
.button-secondary:hover{background:#eae8e1}
.button .icon{width:17px;height:17px}
.save-note{font-size:11px;color:var(--muted);margin-top:15px}
.card-area{min-width:0;position:relative;padding-top:8px;animation:arrive .9s both .15s}
.card-topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--muted);padding:0 3px 20px}
.card-number{letter-spacing:1px;font-variant-numeric:tabular-nums}
.card-scene{position:relative;display:block;padding:0;border:0;background:transparent;width:100%;aspect-ratio:2048/1170;perspective:1600px;border-radius:13px;text-align:initial}
.business-card{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:rotate(-3deg)}
.business-card.is-flipped{transform:rotate(-3deg) rotateY(180deg)}
.card-face{position:absolute;inset:0;overflow:hidden;border-radius:13px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 24px 34px -18px #59320d45,0 4px 10px #59320d0c;background:#fff}
.card-face img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.card-back{transform:rotateY(180deg)}
.card-bottomline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:30px}
.card-bottomline p{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin:0}
.card-bottomline p .icon{width:13px;height:13px}
.side-control{display:flex;border:1px solid var(--line);padding:3px;border-radius:5px;gap:2px}
.side-control button{font-size:10px;color:var(--muted);border:0;background:transparent;padding:6px 12px;border-radius:3px}
.side-control button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #30332f10}
.profile{animation:arrive .8s both}
.contact-section{border-top:1px solid var(--line);padding:36px 0 32px}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
h2{font-family:var(--display);font-size:23px;letter-spacing:-.8px;font-weight:600;margin:0}
h2>span{color:var(--orange)}
.section-heading>p{font-size:11px;color:var(--muted);margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.contact-item{display:flex;align-items:flex-start;gap:18px;min-width:0;padding:23px 0;border-top:1px solid var(--line)}
.contact-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #e1dcd1;border-radius:50%;color:var(--orange);transition:background .2s}
.contact-icon .icon{width:17px;height:17px}
.contact-content{display:flex;flex-direction:column;min-width:0;flex:1;gap:6px;padding-top:1px}
.contact-label{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:500;margin-bottom:2px}
.contact-value,.phone-item a{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.phone-item a{display:flex;align-items:center;justify-content:space-between}
.phone-item .secondary-number{font-size:12px;color:var(--muted)}
.contact-caption{font-size:11px;color:var(--muted);line-height:1.6}
.link-arrow{width:16px;height:16px;color:#83857b;transition:transform .2s,color .2s;margin-top:20px}
.phone-item .link-arrow{margin-top:0}
a.contact-item:hover .contact-icon{background:var(--soft-orange)}
a.contact-item:hover .link-arrow,.phone-item a:hover .link-arrow{transform:translate(2px,-2px);color:var(--orange)}
a.contact-item:hover .contact-value,.phone-item a:hover{color:var(--orange)}
.closing-note{display:flex;align-items:center;gap:15px;background:#eae9e1;border-radius:6px;padding:18px 22px;margin:0 0 46px}
.tiny-monogram{font-family:Georgia,serif;font-weight:bold;font-style:italic;font-size:26px;color:var(--orange);line-height:1}
.closing-note p{font-size:12px;margin:0;flex:1}
.closing-note p>span{color:var(--muted);margin-left:4px}
.closing-note>.icon{width:15px;height:15px;color:var(--muted)}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0 28px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.footer-location{display:flex;align-items:center;gap:8px}
dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:40px;width:min(520px,calc(100% - 32px));box-shadow:0 30px 100px #30332f30}
dialog::backdrop{background:#30332f66;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:var(--muted);border-radius:50%}
.dialog-close:hover{background:#eae8e1}
dialog h2{font-size:27px;margin:20px 0 12px}
dialog>p{font-size:14px;color:var(--muted);line-height:1.7}
dialog label{display:block;font-size:12px;margin:23px 0 8px}
.copy-field{display:flex;gap:8px}
.copy-field input{min-width:0;flex:1;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 12px;font-size:12px;color:var(--ink)}
.copy-field .button{padding:0 15px}
dialog .dialog-help{font-size:11px}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:13px 20px;background:var(--ink);color:#fff;border-radius:6px;box-shadow:0 6px 24px #30332f20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:13px;text-align:center;width:max-content;max-width:calc(100% - 32px);z-index:2}
.toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.intro{padding-top:112px;padding-bottom:96px}}
@media(max-width:1100px){.page-shell{padding:0 40px}.intro{gap:40px;padding-top:70px;padding-bottom:60px}h1{font-size:64px}.contact-grid{column-gap:32px}.card-bottomline{flex-wrap:wrap}.header-note{font-size:9px;letter-spacing:1.4px}.role{font-size:12px;gap:8px}}
@media(max-width:760px){.page-shell{padding:0 24px}.site-header{height:90px}.header-note{display:none}.header-link{font-size:11px;gap:8px}.brand img{width:64px}.intro{grid-template-columns:1fr;gap:45px;padding:49px 0 40px}.eyebrow{font-size:9px}h1{font-size:62px;letter-spacing:-3px;margin-top:22px}h1>span{display:inline}.role{font-size:12px}.intro-copy{font-size:15px;margin-top:24px}.card-area{max-width:550px;width:100%;justify-self:center;padding:0 5px}.card-topline{padding-bottom:18px}.card-bottomline{margin-top:25px;flex-wrap:nowrap}.contact-section{padding-top:30px}.section-heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:22px}.section-heading h2{font-size:22px}.contact-grid{grid-template-columns:1fr}.contact-item{padding:22px 0;gap:15px}.contact-value,.phone-item a{font-size:14px}.contact-caption{font-size:11px}.closing-note{margin-bottom:30px;padding:17px}.closing-note p{font-size:11px}.closing-note p>span{display:block;margin:4px 0 0}footer{flex-wrap:wrap;font-size:9px;gap:14px}footer>span:nth-child(2){order:3;width:100%}.footer-location{margin-left:auto}dialog{padding:35px 23px}.copy-field .button{padding:0 12px}}
@media(max-width:380px){.page-shell{padding:0 18px}h1{font-size:53px}.header-link{font-size:10px}.button{padding:0 17px}.card-bottomline p{font-size:9px;gap:5px}.side-control button{padding:5px 9px}.role{gap:6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.business-card{transform:none}.business-card.is-flipped{transform:rotateY(180deg)}}
