:root{--t-page:#f4ecd9;--t-surface:#fffaf0;--t-elevated:#fffdf7;--t-text:#312b20;--t-muted:#7c725f;--t-border:#51412340;--t-focus:#8b6725;--t-error:#9a4d42;--t-space-1:.25rem;--t-space-2:.5rem;--t-space-3:.75rem;--t-space-4:1rem;--t-space-5:1.5rem;--t-space-6:2rem;--t-space-7:3rem;--t-card-radius:14px;--t-panel-radius:18px;--t-control-radius:9px;--t-shadow:0 10px 28px #2d231321}button,a,input{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--t-focus)}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.utility-links a{border-radius:999px;background:#85837a;color:#fff;padding:7px 12px;font-size:12px;text-decoration:none}.panorama-scroll{overflow-x:auto}.panorama-stage{position:relative;min-width:1080px;height:164px;background:url('../images/navigation-panorama.png') center/cover no-repeat}.category-hit-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr)}.category-hit{position:relative;border:0;background:transparent;min-width:72px;cursor:pointer;touch-action:manipulation}.category-hit:after{content:"";position:absolute;left:22%;right:22%;bottom:5px;height:3px;border-radius:3px}.category-hit:hover:after,.category-hit:focus-visible:after{background:#fff4c9b3}.category-hit.selected:after{background:#f0d78e;box-shadow:0 0 12px #fff4c9}.t-workspace{width:min(1180px,100%);margin:auto;padding:var(--t-space-6)}.t-workspace.is-full{width:100%;max-width:1560px}.t-workspace-header,.t-workspace-toolbar{margin-bottom:var(--t-space-5)}.t-page-header{display:flex;justify-content:space-between;gap:var(--t-space-5);flex-wrap:wrap}.t-page-heading,.t-page-actions,.t-record-actions,.button-row,.badge-row{display:flex;gap:var(--t-space-2);flex-wrap:wrap;align-items:center}.t-title-row{display:flex;align-items:center;gap:var(--t-space-3);flex-wrap:wrap}.t-page-header h1,.t-record-header h1{font:700 clamp(2rem,4vw,3.5rem) Georgia,serif;margin:0}.t-page-header p{color:#5f5749}.t-toolbar{display:flex;justify-content:space-between;align-items:end;gap:var(--t-space-3);flex-wrap:wrap;padding:var(--t-space-3);border:1px solid var(--t-border);border-radius:var(--t-control-radius);background:#fffaf0d1}.t-toolbar>div{display:flex;align-items:end;gap:var(--t-space-2);flex-wrap:wrap}.t-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,var(--sidebar-width));gap:var(--t-space-5)}.t-split>*{min-width:0}.t-card,.t-panel,.t-data-list{background:var(--t-surface);border:1px solid var(--t-border);border-radius:var(--t-card-radius);box-shadow:var(--t-shadow);overflow:hidden}.t-card>header,.t-panel>header,.t-data-list>header{display:flex;justify-content:space-between;padding:var(--t-space-4);border-bottom:1px solid var(--t-border)}.t-card h2,.t-panel h2{font:700 1.05rem Georgia,serif;margin:0}.t-card header p{margin:.25rem 0;color:var(--t-muted)}.t-card-body,.t-panel-body{padding:var(--t-space-4)}.t-card>footer,.t-panel>footer,.t-data-list>footer{padding:var(--t-space-3) var(--t-space-4);border-top:1px solid var(--t-border)}.t-card.compact .t-card-body{padding:var(--t-space-3)}.t-card.selected{border-color:var(--t-focus);background:#fff8e8}.t-card.disabled{opacity:.55}.t-panel.scrollable .t-panel-body{max-height:20rem;overflow:auto}.t-button{min-height:42px;padding:.6rem 1rem;border:1px solid #74591f;border-radius:var(--t-control-radius);background:#755b25;color:#fff;cursor:pointer}.t-button.secondary{background:var(--t-surface);color:var(--t-text)}.t-button.danger{background:var(--t-error)}.t-badge{display:inline-flex;padding:.2rem .6rem;border-radius:999px;background:#e7dfce;font-size:.75rem;font-weight:700;text-transform:capitalize}.tone-success,.tone-connected{background:#dce8d9;color:#345331}.tone-warning,.tone-pending{background:#f2e3bd;color:#6e4a11}.tone-error,.tone-disconnected{background:#efd9d5;color:#7b332a}.tone-read-only{background:#e4e1da}.tone-steward{background:#ead9ae}.tone-household,.tone-family,.tone-personal{background:#e6dcc4}.t-state{text-align:center;padding:var(--t-space-6);border:1px dashed var(--t-border);border-radius:var(--t-panel-radius);background:#fffaf0ad}.t-state h2{font:700 1.35rem Georgia,serif}.t-state p{color:var(--t-muted)}.t-state-actions{display:flex;justify-content:center;gap:var(--t-space-2)}.t-loading{display:flex;justify-content:center;align-items:center;gap:var(--t-space-2)}.t-spinner{width:20px;height:20px;border:3px solid #d6ccb7;border-top-color:var(--t-focus);border-radius:50%;animation:t-spin .9s linear infinite}@keyframes t-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.t-spinner{animation:none}}.t-error{border-color:#d7aaa3}.t-search{display:grid;gap:var(--t-space-1);font-size:.875rem;font-weight:600}.t-search-control{display:flex;border:1px solid var(--t-border);border-radius:var(--t-control-radius);background:#fff}.t-search input{min-height:40px;border:0;background:transparent;padding:.5rem .75rem}.t-search button{border:0;background:transparent;min-width:40px}.t-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--t-border)}.t-tabs button{min-height:44px;padding:.65rem 1rem;border:0;border-bottom:3px solid transparent;background:transparent;white-space:nowrap}.t-tabs button.selected{border-color:var(--t-focus);font-weight:700}.t-overlay{position:fixed;inset:0;z-index:1000;background:#1815108f;display:flex}.t-dialog{width:min(92vw,38rem);max-height:88vh;margin:auto;background:var(--t-elevated);border-radius:var(--t-panel-radius);overflow:auto}.t-dialog>header,.t-drawer>header{display:flex;justify-content:space-between;align-items:center;padding:var(--t-space-4);border-bottom:1px solid var(--t-border)}.t-dialog h2,.t-drawer h2{margin:0;font:700 1.35rem Georgia,serif}.t-dialog>header button,.t-drawer>header button{min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.5rem}.t-dialog-body,.t-drawer-body{padding:var(--t-space-5)}.t-dialog>footer,.t-drawer>footer{display:flex;justify-content:flex-end;gap:var(--t-space-2);padding:var(--t-space-4);border-top:1px solid var(--t-border)}.t-drawer{position:absolute;top:0;bottom:0;width:min(90vw,28rem);background:var(--t-elevated)}.t-drawer.side-right{right:0}.t-drawer.side-left{left:0}.t-toast-host{position:fixed;right:var(--t-space-4);bottom:var(--t-space-4);z-index:1200;display:grid;gap:var(--t-space-2);width:min(90vw,24rem)}.t-toast{display:flex;justify-content:space-between;align-items:center;padding:var(--t-space-3);border:1px solid var(--t-border);border-radius:var(--t-control-radius);background:var(--t-elevated);box-shadow:var(--t-shadow)}.t-toast button{min-width:40px;min-height:40px;border:0;background:transparent}.t-data-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--t-space-4);padding:var(--t-space-3) var(--t-space-4);border-bottom:1px solid var(--t-border)}.t-data-row small{display:block;color:var(--t-muted)}.t-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--t-space-3)}.t-photo{margin:0;background:var(--t-surface);border:1px solid var(--t-border);border-radius:var(--t-card-radius);overflow:hidden}.photo-placeholder{aspect-ratio:4/3;display:grid;place-items:center;background:#ded4bd}.t-photo figcaption{padding:var(--t-space-2)}.t-record-header{display:grid;grid-template-columns:auto 1fr auto;gap:var(--t-space-5);align-items:center;padding:var(--t-space-5);border:1px solid var(--t-border);border-radius:var(--t-panel-radius);background:var(--t-surface)}.t-record-header>img{width:120px;height:90px;object-fit:cover;border-radius:var(--t-card-radius)}.t-record-summary{color:var(--t-muted)}.showcase-section{display:grid;gap:var(--t-space-4);margin-block:var(--t-space-7)}.showcase-section>h2{font:700 1.35rem Georgia,serif;border-bottom:1px solid var(--t-border)}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--t-space-4)}
@media(max-width:1100px){.t-split{grid-template-columns:1fr}.t-record-header{grid-template-columns:1fr}}
@media(max-width:768px){.t-workspace{padding:var(--t-space-4)}.t-page-header{display:block}.t-toolbar{align-items:stretch}.t-toolbar>div,.t-search,.t-search-control,.t-search input{width:100%}.t-data-row{grid-template-columns:1fr}.t-dialog{width:calc(100vw - 1rem)}.t-drawer{width:100vw}.panorama-stage{height:135px}.child-region{display:block}}

/* Header refinement: the panorama is the Web Edition brand surface. */
.app-header{min-height:68px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:7px clamp(14px,2.5vw,40px)}.utility-links{justify-content:flex-start;gap:6px}.utility-links span,.utility-links a,.profile-placeholder{display:inline-flex;align-items:center;min-height:36px;padding:5px 10px;font-size:11.5px}.profile-placeholder{justify-self:end}.panorama-stage{width:100%;min-width:1080px;height:auto;aspect-ratio:1921/212;background-size:100% 100%;background-repeat:no-repeat;background-position:center}
@media(max-width:1050px){.app-header{grid-template-columns:minmax(0,1fr) auto}.utility-links{grid-column:auto;justify-content:flex-start}}
@media(max-width:700px){.app-header{min-height:54px;padding:6px 12px}.profile-placeholder{top:7px;right:10px;min-height:36px}.panorama-stage{height:auto}}
.t-nav-breadcrumbs{max-width:100%;overflow:hidden}.t-nav-breadcrumbs ol{display:flex;align-items:center;gap:var(--t-space-2);min-width:0;margin:0;padding:0;list-style:none;color:var(--t-muted);font-size:.88rem}.t-nav-breadcrumbs li{display:flex;min-width:0;align-items:center}.t-nav-breadcrumbs li+li:before{content:"/";margin-right:var(--t-space-2);color:var(--t-border)}.t-nav-breadcrumbs a,.t-nav-breadcrumbs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-nav-breadcrumbs .current{color:var(--t-text);font-weight:700}.route-context{display:flex;align-items:center;justify-content:space-between;gap:var(--t-space-3);margin-bottom:var(--t-space-3)}.route-actions{display:flex;flex-wrap:wrap;gap:var(--t-space-2)}.navigation-search{margin-top:var(--t-space-5);padding:var(--t-space-4);border:1px solid var(--t-border);border-radius:var(--t-panel-radius);background:var(--t-surface)}.navigation-search label{display:grid;gap:var(--t-space-2)}.navigation-search input{min-height:44px;padding:var(--t-space-2) var(--t-space-3);border:1px solid var(--t-border);border-radius:var(--t-control-radius)}.navigation-search ul,.destination-list{margin:var(--t-space-3) 0 0;padding:0;list-style:none}.navigation-search li+li{margin-top:var(--t-space-2)}.navigation-search li button{display:grid;width:100%;min-height:44px;text-align:left;padding:var(--t-space-3);border:1px solid var(--t-border);border-radius:var(--t-control-radius);background:var(--t-surface)}.navigation-search li span{color:var(--t-muted);font-size:.85rem}.navigation-experience dl{display:grid;grid-template-columns:auto 1fr;gap:var(--t-space-1) var(--t-space-3)}.navigation-experience dd{margin:0;min-width:0;overflow-wrap:anywhere}.mobile-breadcrumb-demo{max-width:18rem;margin-top:var(--t-space-4)}
@media(max-width:768px){.route-context{align-items:flex-start;flex-direction:column}.t-nav-breadcrumbs ol{max-width:100%}.t-nav-breadcrumbs li:not(:nth-last-child(-n+2)){display:none}.navigation-search{padding:var(--t-space-3)}.navigation-search li span{display:block}.route-actions{width:100%}.route-actions .t-button{flex:1}}


/* Panoramic scene map: logo + twelve unequal artwork regions.
   Do not revert this to repeat(12, 1fr); the artwork scenes are not equal width. */
.category-hit-grid{
  display:grid;
  grid-template-columns:11.7% 8.1% 8.6% 9.6% 8.1% 6.5% 7% 6% 8.1% 6.8% 5.5% 5.7% 8.3%;
}
.category-hit-spacer{grid-column:1;pointer-events:none}
.category-hit{min-width:0}
.category-hit--today{grid-column:2}
.category-hit--household{grid-column:3}
.category-hit--home{grid-column:4}
.category-hit--family{grid-column:5}
.category-hit--people{grid-column:6}
.category-hit--money{grid-column:7}
.category-hit--library{grid-column:8}
.category-hit--lifestyle{grid-column:9}
.category-hit--legacy{grid-column:10}
.category-hit--google{grid-column:11}
.category-hit--system{grid-column:12}
.category-hit--steward{grid-column:13}

.homecoming-page,.personalization-page{max-width:1440px;margin:0 auto;padding:clamp(1rem,3vw,3rem);color:var(--t-ink,#332d27)}
.homecoming-hero,.personalization-hero{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.5rem,4vw,4rem);border:1px solid var(--t-border,#d7c8ae);background:var(--t-surface,#fffaf0);border-radius:18px}.homecoming-hero h1,.personalization-hero h1{font-family:serif;font-size:clamp(2rem,5vw,4.5rem);margin:.2rem 0}.homecoming-summary,.homecoming-grid,.homecoming-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.homecoming-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.homecoming-summary article,.homecoming-section,.personalization-panel,.t-resume-card{border:1px solid var(--t-border,#d7c8ae);background:var(--t-surface,#fffaf0);border-radius:14px;padding:1.25rem}.homecoming-summary article{display:grid;gap:.45rem}.homecoming-section{margin:1rem 0}.homecoming-heading,.t-resume-card,.personalization-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem}.homecoming-list,.personalization-list{list-style:none;padding:0}.homecoming-list li a,.homecoming-recents a{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;text-decoration:none}.homecoming-recents,.homecoming-actions{display:flex;flex-wrap:wrap;gap:.75rem}.homecoming-actions a,.homecoming-actions button,.t-personal-action{min-height:44px;padding:.65rem 1rem;border:1px solid var(--t-border,#aa9675);border-radius:999px;background:transparent;color:inherit}.t-personal-action.is-active{background:var(--t-accent-soft,#eee1c8);font-weight:700}.personalization-page{display:grid;gap:1rem}.personalization-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.personalization-form label{display:grid;gap:.4rem}.personalization-form input:not([type=checkbox]),.personalization-form select{min-height:44px;padding:.6rem}.density-compact .homecoming-section{padding:.8rem}.density-spacious .homecoming-section{padding:2rem}@media(max-width:800px){.homecoming-hero,.personalization-hero,.t-resume-card{align-items:start;flex-direction:column}.homecoming-summary,.homecoming-grid,.homecoming-columns,.personalization-form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.homecoming-page *,.personalization-page *{transition:none!important;animation:none!important}}

/* Patch 36: Living Artwork Navigation.
   Parent category names are permanently painted over their panorama scenes on
   desktop, tablet, and touch layouts. The hit regions and routing remain intact. */
.navigation-shell{
  background:#eee6d7;
  color:var(--t-text);
}
.panorama-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  background:#eee6d7;
  scrollbar-color:#ab997b #e7ddcb;
  scrollbar-width:thin;
}
.category-hit{
  isolation:isolate;
  overflow:visible;
}
.category-scene-label{
  position:absolute;
  z-index:2;
  left:50%;
  top:20%;
  width:max-content;
  max-width:150%;
  transform:translateX(-50%);
  color:#c6a55c;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT","Lucida Handwriting",cursive;
  font-size:clamp(1rem,1.42vw,1.62rem);
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  text-shadow:
    0 1px 0 rgba(255,250,231,.92),
    1px 2px 1px rgba(78,75,70,.82),
    0 0 7px rgba(255,248,220,.78);
  filter:drop-shadow(0 1px 1px rgba(63,60,55,.32));
  transition:color .22s ease,filter .22s ease,transform .22s ease,text-shadow .22s ease;
}
.category-hit:hover .category-scene-label,
.category-hit:focus-visible .category-scene-label{
  color:#e2c77f;
  transform:translateX(-50%) translateY(-2px);
  text-shadow:
    0 1px 0 rgba(255,253,239,1),
    1px 2px 1px rgba(72,69,64,.9),
    0 0 11px rgba(255,239,181,.92);
}
.category-hit.selected .category-scene-label{
  color:#efd58a;
  filter:drop-shadow(0 1px 1px rgba(61,57,51,.42)) drop-shadow(0 0 5px rgba(255,232,158,.72));
}
.category-hit:after{
  left:28%;
  right:28%;
  bottom:8%;
  height:2px;
  opacity:0;
  transform:scaleX(.55);
  transition:opacity .2s ease,transform .2s ease;
}
.category-hit:hover:after,
.category-hit:focus-visible:after,
.category-hit.selected:after{
  opacity:1;
  transform:scaleX(1);
}
.category-hit--today .category-scene-label{top:17%}
.category-hit--household .category-scene-label{top:25%}
.category-hit--home .category-scene-label{top:14%}
.category-hit--family .category-scene-label{top:23%}
.category-hit--people .category-scene-label{top:13%}
.category-hit--money .category-scene-label{top:26%}
.category-hit--library .category-scene-label{top:15%}
.category-hit--lifestyle .category-scene-label{top:25%}
.category-hit--legacy .category-scene-label{top:13%}
.category-hit--google .category-scene-label{top:26%}
.category-hit--system .category-scene-label{top:15%}
.category-hit--steward .category-scene-label{top:24%}

/* The persistent artwork labels replace the former phone-only black category bar. */
.mobile-category-region{display:none!important}

/* Keep the child destinations quiet and heirloom-toned rather than black. */
.child-region{
  color:#4f493f;
  background:linear-gradient(180deg,rgba(246,240,228,.98),rgba(226,216,199,.98));
  border-top:1px solid rgba(139,112,66,.48);
  border-bottom:1px solid rgba(84,72,54,.2);
  box-shadow:inset 0 1px rgba(255,255,255,.72);
}
.child-region strong{color:#80652f}
.child-link{
  border-color:rgba(91,80,62,.28);
  background:rgba(255,253,247,.42);
  color:#51493e;
}
.child-link:hover,
.child-link:focus-visible{background:rgba(255,252,241,.88);border-color:rgba(155,123,56,.62)}
.child-link.selected{
  background:rgba(155,123,56,.9);
  border-color:#8b6d31;
  color:#fffaf0;
  box-shadow:inset 0 1px rgba(255,255,255,.25);
}
@media(max-width:700px){
  .category-scene-label{
    font-size:clamp(1rem,4.5vw,1.35rem);
    text-shadow:
      0 1px 0 rgba(255,250,231,.96),
      1px 2px 1px rgba(70,68,64,.88),
      0 0 8px rgba(255,248,220,.86);
  }
  .child-region{padding-top:7px}
}
@media(prefers-reduced-motion:reduce){
  .category-scene-label,.category-hit:after{transition:none}
}

/* Compact animated profile drawer ------------------------------------------------ */
.profile-account-overlay {
    justify-content: flex-end;
    animation: profile-overlay-in 180ms ease-out both;
}

.t-drawer.profile-account-drawer {
    top: 16px;
    right: 16px;
    bottom: 16px;
    width: min(410px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    border: 1px solid rgba(104, 79, 42, .28);
    border-radius: 22px;
    background: linear-gradient(155deg, rgba(255, 253, 247, .99), rgba(244, 236, 219, .98));
    box-shadow: -18px 22px 54px rgba(34, 27, 18, .28);
    animation: profile-drawer-in 260ms cubic-bezier(.22, .8, .28, 1) both;
}

.t-drawer.profile-account-drawer > header {
    min-height: 58px;
    padding: 10px 15px 10px 19px;
    background: rgba(255, 253, 247, .64);
}

.t-drawer.profile-account-drawer > header h2 {
    font-size: 1.18rem;
}

.t-drawer.profile-account-drawer > header button {
    min-width: 38px;
    min-height: 38px;
}

.t-drawer.profile-account-drawer .t-drawer-body {
    height: calc(100% - 59px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 16px 16px;
    scrollbar-width: thin;
}

@keyframes profile-overlay-in {
    from { background-color: rgba(24, 21, 16, 0); backdrop-filter: blur(0); }
    to { background-color: rgba(24, 21, 16, .56); backdrop-filter: blur(1.5px); }
}

@keyframes profile-drawer-in {
    from { opacity: 0; transform: translateX(44px) scale(.992); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@media (max-width: 560px) {
    .t-drawer.profile-account-drawer {
        top: 8px;
        right: 8px;
        bottom: 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .profile-account-overlay,
    .t-drawer.profile-account-drawer { animation-duration: 1ms; }
}

/* First-arrival Tapestry Guide -------------------------------------------------- */
button.app-header__seal {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.app-header__seal {
    transition: opacity 180ms ease, transform 220ms ease;
}

.app-header__seal.is-guide-away {
    opacity: 0;
    transform: scale(.86);
    pointer-events: none;
}

body.welcome-guide-open {
    overflow: hidden;
}

.welcome-guide {
    --guide-seal-left: 18px;
    --guide-seal-top: 12px;
    --guide-seal-width: 58px;
    --guide-seal-height: 58px;
    position: fixed;
    inset: 0;
    z-index: 2400;
    font-family: Georgia, "Times New Roman", serif;
}

.welcome-guide__veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(35, 31, 23, 0);
    backdrop-filter: blur(0);
    cursor: default;
    transition: background-color 420ms ease, backdrop-filter 420ms ease;
}

.welcome-guide.is-open .welcome-guide__veil {
    background: rgba(35, 31, 23, .28);
    backdrop-filter: blur(1.25px);
}

.welcome-guide__journey {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.welcome-guide__floating-seal {
    position: fixed;
    left: var(--guide-seal-left);
    top: var(--guide-seal-top);
    width: var(--guide-seal-width);
    height: var(--guide-seal-height);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    filter: drop-shadow(0 2px 3px rgba(34, 26, 14, .22));
    transform-origin: center;
    transition:
        left 620ms cubic-bezier(.2, .78, .22, 1),
        top 620ms cubic-bezier(.2, .78, .22, 1),
        width 620ms cubic-bezier(.2, .78, .22, 1),
        height 620ms cubic-bezier(.2, .78, .22, 1),
        filter 420ms ease,
        transform 420ms ease;
    pointer-events: auto;
    cursor: pointer;
    z-index: 2;
}

.welcome-guide__floating-seal img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.welcome-guide.is-open .welcome-guide__floating-seal {
    left: calc(50vw - 47px);
    top: clamp(54px, 10vh, 104px);
    width: 94px;
    height: 94px;
    filter: drop-shadow(0 13px 18px rgba(34, 26, 14, .3));
    transform: translateY(-2px);
}

.welcome-guide__card {
    position: fixed;
    left: 50%;
    top: clamp(132px, 22vh, 190px);
    width: min(570px, calc(100vw - 34px));
    min-height: 286px;
    padding: 42px 46px 30px;
    border: 1px solid rgba(156, 121, 52, .48);
    border-radius: 25px;
    background:
        linear-gradient(145deg, rgba(255, 254, 248, .965), rgba(242, 231, 207, .94)),
        radial-gradient(circle at 50% 0, rgba(255, 248, 218, .82), transparent 45%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .72),
        inset 0 0 28px rgba(255, 248, 224, .62),
        0 28px 72px rgba(33, 27, 18, .28);
    color: #3b3224;
    text-align: center;
    opacity: 0;
    transform: translate(-50%, -20px) scale(.92);
    transform-origin: 50% 0;
    transition: opacity 380ms ease 350ms, transform 520ms cubic-bezier(.22, .8, .24, 1) 300ms;
    pointer-events: none;
}

.welcome-guide__card::before,
.welcome-guide__card::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: inherit;
}

.welcome-guide__card::before {
    inset: 7px;
    border: 1px solid rgba(178, 143, 72, .25);
}

.welcome-guide__card::after {
    left: 50%;
    top: -12px;
    width: 22px;
    height: 22px;
    border-left: 1px solid rgba(156, 121, 52, .42);
    border-top: 1px solid rgba(156, 121, 52, .42);
    background: rgba(252, 247, 233, .97);
    transform: translateX(-50%) rotate(45deg);
}

.welcome-guide.is-settled .welcome-guide__card {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
    pointer-events: auto;
}

.welcome-guide__eyebrow {
    margin: 0 0 9px;
    color: #8b6f37;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.welcome-guide__card h2 {
    margin: 0;
    color: #3b3122;
    font-size: clamp(1.62rem, 3vw, 2.18rem);
    font-weight: 500;
    line-height: 1.14;
}

.welcome-guide__message {
    max-width: 470px;
    min-height: 76px;
    margin: 18px auto 24px;
    color: #5d5140;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.68;
}

.welcome-guide__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 16px;
}

.welcome-guide__primary,
.welcome-guide__quiet {
    min-height: 43px;
    border-radius: 999px;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: .9rem;
    cursor: pointer;
}

.welcome-guide__primary {
    padding: 10px 22px;
    border: 1px solid #8e7037;
    background: linear-gradient(#b99a5d, #8b6c34);
    box-shadow: inset 0 1px rgba(255,255,255,.45), 0 6px 14px rgba(73, 54, 24, .18);
    color: #fffdf7;
    font-weight: 700;
}

.welcome-guide__quiet {
    padding: 10px 14px;
    border: 1px solid transparent;
    background: transparent;
    color: #6d5b3d;
}

.welcome-guide__link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.welcome-guide__primary:hover,
.welcome-guide__primary:focus-visible {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.welcome-guide__quiet:hover,
.welcome-guide__quiet:focus-visible {
    color: #3f3424;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.welcome-guide__progress {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 24px;
}

.welcome-guide__progress span {
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: rgba(104, 84, 49, .18);
    transition: width 220ms ease, background-color 220ms ease;
}

.welcome-guide__progress span.is-reached {
    width: 24px;
    background: rgba(146, 112, 52, .72);
}

@media (max-width: 640px) {
    .welcome-guide.is-open .welcome-guide__floating-seal {
        left: calc(50vw - 38px);
        top: 34px;
        width: 76px;
        height: 76px;
    }

    .welcome-guide__card {
        top: 122px;
        width: calc(100vw - 24px);
        min-height: 300px;
        max-height: calc(100dvh - 142px);
        overflow-y: auto;
        padding: 34px 24px 24px;
        border-radius: 21px;
    }

    .welcome-guide__message {
        min-height: 0;
        font-size: .96rem;
        line-height: 1.58;
    }

    .welcome-guide__actions {
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-header__seal,
    .welcome-guide__veil,
    .welcome-guide__floating-seal,
    .welcome-guide__card,
    .welcome-guide__progress span {
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
    }
}

/* Tapestry Correspondence Framework */
.correspondence-anchor { display: flex; }
.correspondence-seal { position: relative; }
.correspondence-wax-accent { position:absolute; right:2px; bottom:5px; width:17px; height:17px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#b84f3d,#7e201b 68%,#4f130f); box-shadow:inset 0 0 0 1px rgba(255,225,185,.28),0 2px 5px rgba(52,20,12,.28); }
.correspondence-seal.is-arriving { animation:tapestry-seal-arrival 1.35s cubic-bezier(.2,.72,.2,1) 1 both; }
@keyframes tapestry-seal-arrival { 0%{filter:none;transform:rotate(0)} 28%{filter:drop-shadow(-12px 0 7px rgba(255,211,115,.42)) brightness(1.08)} 52%{transform:rotate(2.5deg);filter:drop-shadow(0 0 13px rgba(220,154,55,.5))} 72%{transform:rotate(-1deg)} 100%{transform:rotate(0);filter:none} }
.correspondence-panel { position:fixed; inset:0; z-index:1200; display:grid; place-items:start center; padding-top:92px; }
.correspondence-panel__veil { position:absolute; inset:0; border:0; background:rgba(51,39,24,.22); backdrop-filter:blur(2px); }
.correspondence-letter { position:relative; width:min(620px,calc(100vw - 32px)); padding:46px 52px 38px; border-radius:26px; background:linear-gradient(145deg,rgba(255,252,241,.97),rgba(244,233,207,.94)); border:1px solid rgba(170,132,63,.55); box-shadow:0 24px 70px rgba(53,38,19,.25),inset 0 0 0 3px rgba(255,255,255,.38),inset 0 0 0 5px rgba(171,130,55,.18); color:#463923; }
.correspondence-panel.is-welcome-arrival .correspondence-letter { animation:correspondence-letter-arrival .85s cubic-bezier(.18,.8,.25,1) both; transform-origin:top left; }
@keyframes correspondence-letter-arrival { from{opacity:0;transform:translate(-180px,-45px) scale(.78)} to{opacity:1;transform:none} }
.correspondence-letter__eyebrow { margin:0 0 10px; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#876b3b; }
.correspondence-letter h2 { margin:0 0 22px; font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,2.5rem); font-weight:500; }
.correspondence-letter p { line-height:1.68; }
.correspondence-letter__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.correspondence-letter__actions a,.correspondence-letter__actions button { border-radius:999px; padding:11px 18px; font:inherit; text-decoration:none; cursor:pointer; }
.correspondence-letter__primary { background:#755a2d; color:#fffaf0; border:1px solid #60481f; }
.correspondence-letter__secondary { background:rgba(255,255,255,.5); color:#594424; border:1px solid rgba(117,90,45,.55); }
.correspondence-letter__quiet { background:transparent; color:#6b5a3e; border:0; }
.correspondence-letter__position { margin:22px 0 0; font-size:.76rem; color:#8a785a; }
@media(max-width:640px){.correspondence-panel{padding-top:72px}.correspondence-letter{padding:34px 26px 28px}.correspondence-letter__actions{flex-direction:column}.correspondence-letter__actions a,.correspondence-letter__actions button{text-align:center}}
@media(prefers-reduced-motion:reduce){.correspondence-seal.is-arriving,.correspondence-panel.is-welcome-arrival .correspondence-letter{animation-duration:1ms!important}}

/* Patch 90 correction: preserve the seal's permanent header footprint when it
   is hosted by the reusable correspondence component. */
.correspondence-anchor {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    min-width: 58px;
    height: 58px;
    position: relative;
    z-index: 2;
}

.correspondence-anchor > .app-header__seal,
.correspondence-anchor > .correspondence-seal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    min-width: 58px;
    height: 58px;
    margin: 0;
    overflow: visible;
    position: relative;
}

.correspondence-anchor > .app-header__seal img,
.correspondence-anchor > .correspondence-seal img {
    display: block;
    width: 58px;
    height: 58px;
    max-width: none;
    object-fit: contain;
}

@media (max-width: 700px) {
    .correspondence-anchor,
    .correspondence-anchor > .app-header__seal,
    .correspondence-anchor > .correspondence-seal {
        flex-basis: 46px;
        width: 46px;
        min-width: 46px;
        height: 46px;
    }

    .correspondence-anchor > .app-header__seal img,
    .correspondence-anchor > .correspondence-seal img {
        width: 46px;
        height: 46px;
    }
}


/* Patch 90 emblem restoration: the application header grid was designed for
   .app-header__seal to be the grid item. The correspondence host must not
   introduce its own layout box. */
.correspondence-anchor {
    display: contents;
}

.correspondence-anchor > .app-header__seal,
.correspondence-anchor > .correspondence-seal {
    display: grid;
    place-items: center;
    width: 54px;
    min-width: 54px;
    height: 54px;
    flex: 0 0 54px;
    padding: 0;
    margin: 0;
    overflow: visible;
}

.correspondence-anchor > .app-header__seal img,
.correspondence-anchor > .correspondence-seal img {
    display: block !important;
    width: 50px !important;
    height: 50px !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain;
}
