@font-face { font-family:Manrope; src:url(Manrope-Medium.ttf) format('truetype'); font-weight:500; font-display:swap; }
@font-face { font-family:Cormorant; src:url(Cormorant-Medium.ttf) format('truetype'); font-weight:500; font-display:swap; }
:root { color-scheme:light; --ivory:#fcfaf7; --ink:#3d291f; --champagne:#b28b66; --line:#e7ddd1; }
* { box-sizing:border-box; }
html { background:var(--ivory); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; color:var(--ink); font:500 14px/1.5 Manrope,Arial,sans-serif; }
img { display:block; max-width:100%; height:auto; }
.page { width:100%; max-width:680px; min-height:100vh; min-height:100svh; margin-inline:auto; display:flex; flex-direction:column; background:var(--ivory); }
.content { position:relative; isolation:isolate; flex:1 0 auto; padding:calc(28px + env(safe-area-inset-top,0px)) 24px 20px; }
.silk { position:absolute; inset:0; z-index:-1; width:100%; height:100%; pointer-events:none; }
.identity { width:100%; max-width:390px; margin-inline:auto; text-align:center; }
.brand { margin-inline:auto; }
.icon { width:54px; height:54px; }
.wordmark { width:86%; max-width:264px; margin-top:18px; }
.descriptor { width:74%; max-width:228px; margin-top:11px; }
.motto { margin:20px 0 0; font-size:14px; line-height:1.6; }
.philosophy { margin:6px 0 0; font:italic 500 23px/1.3 Cormorant,Georgia,serif; }
.location { margin:17px 0 24px; font-size:9px; line-height:1.7; letter-spacing:.25px; }
.connections { display:grid; gap:10px; width:100%; max-width:320px; margin-inline:auto; }
.link { display:grid; grid-template-columns:24px minmax(0,1fr) 10px; align-items:center; gap:8px; min-height:50px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:rgba(255,254,251,.96); box-shadow:0 2px 4px rgba(89,65,38,.04); text-decoration:none; text-align:center; font-size:14px; line-height:1.5; touch-action:manipulation; }
.link-primary { border-color:#ccb594; background:rgba(251,247,238,.94); }
.link img { width:24px; height:24px; }
.label { min-width:0; overflow-wrap:break-word; }
.chevron { color:var(--champagne); font:23px/1 Arial,sans-serif; }
.link:focus-visible { outline:3px solid #866142; outline-offset:4px; }
.link:active { background:#f3eadc; }
@media (hover:hover) { .link:hover { border-color:#bfa37e; background:#fffdf8; } }
.scene { margin:0; width:100%; flex:none; line-height:0; -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 10px),transparent); mask-image:linear-gradient(to bottom,#000 calc(100% - 10px),transparent); }
.scene svg { display:block; width:100%; height:auto; aspect-ratio:841/414; }
.footer { flex:none; padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px)); text-align:center; background:var(--ivory); }
.footer p { margin:0; }
.site-address { font-size:12px; line-height:1.7; }
.footer .copyright { margin-top:4px; font-size:10px; line-height:1.7; }
@media (min-width:481px) {
  .content { padding:40px 44px 26px; }
  .icon { width:72px; height:72px; }
  .wordmark { max-width:320px; margin-top:24px; }
  .descriptor { max-width:266px; margin-top:13px; }
  .motto { font-size:17px; margin-top:24px; }
  .philosophy { font-size:28px; }
  .location { font-size:10px; margin-bottom:28px; }
  .connections { max-width:408px; gap:11px; }
  .link { min-height:55px; padding:12px 16px; font-size:16px; grid-template-columns:26px minmax(0,1fr) 12px; }
  .link img { width:26px; height:26px; }
  .footer { padding-top:16px; padding-bottom:24px; }
  .site-address { font-size:13px; }
}
@media (max-width:359px) {
  .content { padding-inline:18px; }
  .motto { font-size:13px; }
  .philosophy { font-size:21px; }
  .location { letter-spacing:0; }
  .link { padding-inline:10px; gap:6px; }
}
