body{
margin:0;
font-family:'Manrope',sans-serif;
background:#f8f4ee;
color:#2f241c;
}

.account-shell,
.account-page-shell{
max-width:1200px;
margin:0 auto;
padding:28px 18px 48px;
display:grid;
gap:20px;
}

.account-header,
.account-page-hero{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:20px;
padding:28px 32px;
border-radius:22px;
background:linear-gradient(135deg,#fffaf4,#f3e5d7);
border:1px solid #eadccf;
}

.account-header h1,
.account-page-hero h1,
.account-section-head h3{
font-family:'Cormorant Garamond',serif;
}

.account-header h1,
.account-page-hero h1{
font-size:48px;
line-height:1.02;
margin:0 0 10px;
}

.account-header p,
.account-page-hero p{
margin:0;
line-height:1.7;
color:#6c5a4d;
}

.account-eyebrow,
.profile-eyebrow{
margin:0 0 8px;
font-size:12px;
font-weight:800;
letter-spacing:1.8px;
text-transform:uppercase;
color:#af8745;
}

.account-header-copy,
.account-page-hero > div:first-child{
display:grid;
gap:2px;
max-width:760px;
}

.account-home-link,
.account-primary-btn,
.account-secondary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 18px;
min-height:48px;
border-radius:12px;
text-decoration:none;
font:inherit;
border:none;
cursor:pointer;
font-weight:700;
transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
box-sizing:border-box;
max-width:100%;
}

.account-home-link,
.account-primary-btn{
background:#2f241c;
color:#fffaf4;
box-shadow:0 10px 20px rgba(47,36,28,0.14);
}

.account-secondary-btn{
background:#f2e6d7;
color:#7b5b28;
border:1px solid #e4d4bf;
box-shadow:0 8px 18px rgba(123,91,40,0.08);
}

.account-section-head .account-secondary-btn{
align-self:flex-start;
}

.account-home-link:hover,
.account-primary-btn:hover,
.account-secondary-btn:hover{
transform:translateY(-1px);
}

.account-summary{
display:grid;
gap:18px;
}

.account-user-card,
.account-section,
.account-quick-card{
background:#fff;
border:1px solid #eadfd2;
border-radius:20px;
}

.account-user-card{
padding:24px 26px;
display:grid;
grid-template-columns:auto minmax(0,1fr) auto;
gap:20px;
align-items:center;
}

.account-avatar-wrap{
width:72px;
height:72px;
position:relative;
}

.account-avatar-image,
.account-avatar-fallback{
width:100%;
height:100%;
border-radius:50%;
}

.account-avatar-image{
object-fit:cover;
display:none;
}

.account-avatar-fallback{
display:flex;
align-items:center;
justify-content:center;
background:#d9c1a0;
color:#2f241c;
font-size:24px;
font-weight:800;
}

.account-user-copy h2{
font-size:30px;
margin:0 0 8px;
font-family:'Manrope',sans-serif;
font-weight:800;
letter-spacing:-0.02em;
line-height:1.1;
}

.account-user-copy p,
.account-user-copy span{
display:block;
margin:0;
color:#6b5b4f;
}

.account-quick-grid,
.account-settings-grid,
.account-support-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
}

.profile-card-list{
display:grid;
gap:14px;
}

.account-quick-card{
padding:20px;
text-decoration:none;
color:inherit;
}

.account-quick-card span,
.account-detail-card span,
.account-setting-card span,
.account-support-card span{
display:block;
font-size:12px;
font-weight:800;
letter-spacing:1.4px;
text-transform:uppercase;
color:#a37a37;
margin-bottom:8px;
}

.account-quick-card strong{
font-size:36px;
line-height:1;
}

.account-links{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.account-links a{
padding:10px 14px;
border-radius:999px;
background:#fff;
border:1px solid #eadfd2;
text-decoration:none;
color:#5f4c3d;
font-size:14px;
font-weight:600;
}

.account-section{
padding:22px;
display:grid;
gap:16px;
}

.account-section-head{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:14px;
}

.account-section-head h3{
font-size:32px;
margin:0;
}

.account-detail-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:14px;
}

.account-detail-card,
.account-form,
.account-list-card,
.account-setting-card,
.account-notification-card,
.account-support-card,
.profile-empty{
background:#fcfaf7;
border:1px solid #eee3d7;
border-radius:16px;
}

.account-detail-card{
padding:18px;
}

.account-detail-card strong{
font-size:16px;
font-family:'Manrope',sans-serif;
font-weight:700;
line-height:1.45;
}

.account-form{
padding:18px;
}

.account-form-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
}

.account-form-full{
grid-column:1 / -1;
}

.account-form label{
display:grid;
gap:8px;
}

.account-form input,
.account-form select{
padding:13px 14px;
border:1px solid #dfd1c2;
border-radius:12px;
font:inherit;
background:#fff;
}

.account-form-actions,
.profile-list-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
margin-top:14px;
}

.account-status-text{
margin:10px 0 0;
color:#7b5b28;
}

.account-notification-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
}

.account-notification-card{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
padding:20px;
text-decoration:none;
color:inherit;
cursor:pointer;
}

.account-notification-card span{
display:block;
margin-bottom:8px;
font-size:12px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
color:#8c705b;
}

.account-notification-card strong{
font-size:15px;
line-height:1.45;
font-family:'Manrope',sans-serif;
}

.account-notification-card input{
width:20px;
height:20px;
accent-color:#128c7e;
flex-shrink:0;
}

.account-notification-action{
text-align:left;
font:inherit;
}

.account-list{
display:grid;
gap:12px;
}

.profile-list-card{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:16px;
padding:20px;
background:#fcfaf7;
border:1px solid #eee3d7;
border-radius:16px;
}

.legal-page-shell{
max-width:1180px;
}

.legal-hero{
align-items:flex-start;
}

.legal-hero-actions{
display:grid;
gap:12px;
justify-items:end;
align-content:start;
}

.legal-last-updated{
display:inline-flex;
align-items:center;
padding:10px 14px;
border-radius:999px;
background:#fff;
border:1px solid #eadfd2;
color:#7a634f;
font-size:13px;
font-weight:700;
}

.legal-section{
gap:22px;
}

.legal-highlight-grid,
.legal-content-grid{
display:grid;
gap:16px;
}

.legal-highlight-grid{
grid-template-columns:repeat(3,1fr);
}

.legal-highlight-card,
.legal-article{
background:#fcfaf7;
border:1px solid #eee3d7;
border-radius:18px;
padding:24px 22px;
}

.legal-highlight-card span{
display:block;
margin-bottom:8px;
font-size:12px;
font-weight:800;
letter-spacing:1.4px;
text-transform:uppercase;
color:#af8745;
}

.legal-highlight-card h3,
.legal-article h2{
margin:0 0 10px;
font-family:'Cormorant Garamond',serif;
color:#2f241c;
line-height:1.08;
}

.legal-highlight-card h3{
font-size:32px;
}

.legal-content-grid{
grid-template-columns:repeat(2,1fr);
}

.legal-article h2{
font-size:32px;
}

.legal-article p{
margin:0 0 12px;
line-height:1.8;
color:#5f4c3d;
}

.legal-article p:last-child{
  margin-bottom:0;
}

.legal-point-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
  color:#5f4c3d;
  line-height:1.75;
}

.legal-point-list li::marker{
  color:#af8745;
}

.legal-article a{
  color:#8b6426;
  font-weight:700;
  text-decoration:none;
}

.account-list-main{
display:grid;
gap:6px;
}

.account-item-label{
display:block;
font-size:11px;
font-weight:800;
letter-spacing:1.4px;
text-transform:uppercase;
color:#b18848;
}

.account-list-main strong,
.account-list-main p,
.account-detail-card,
.profile-list-card,
.account-setting-card,
.account-support-card{
font-family:'Manrope',sans-serif;
}

.profile-list-card h4{
font-size:19px;
margin:0 0 8px;
font-family:'Manrope',sans-serif;
font-weight:700;
line-height:1.35;
}

.profile-list-card p{
margin:0;
line-height:1.6;
color:#68574a;
}

.profile-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 12px;
border-radius:999px;
background:#efe1cf;
color:#7d5d29;
font-size:12px;
font-weight:800;
}

.account-setting-card,
.account-support-card{
padding:18px;
text-align:left;
text-decoration:none;
color:inherit;
border:none;
}

.account-setting-card strong,
.account-support-card strong{
font-size:16px;
font-weight:600;
font-family:'Manrope',sans-serif;
line-height:1.5;
}

.support-contact-layout{
display:grid;
grid-template-columns:380px 1fr;
gap:22px;
}

.support-contact-card,
.support-chat-card{
background:#ffffff;
border:1px solid #eadfce;
border-radius:22px;
padding:28px;
box-shadow:0 18px 46px rgba(45,24,16,0.05);
}

.support-contact-card h4,
.support-chat-head h4{
font-family:'Cormorant Garamond',serif;
font-size:32px;
margin:0 0 10px;
}

.support-contact-list{
display:grid;
gap:16px;
}

.support-contact-row{
display:grid;
gap:6px;
padding-bottom:14px;
border-bottom:1px solid #f1e7da;
}

.support-contact-row:last-child{
border-bottom:none;
padding-bottom:0;
}

.support-contact-row span{
font-size:12px;
font-weight:800;
letter-spacing:1.4px;
text-transform:uppercase;
color:#a16d27;
}

.support-contact-row strong{
font-size:17px;
color:#241814;
}

.support-chat-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:16px;
margin-bottom:18px;
}

.support-chat-status{
padding:10px 14px;
border-radius:999px;
background:#f7efe1;
color:#7b5422;
font-size:12px;
font-weight:800;
letter-spacing:.8px;
text-transform:uppercase;
border:1px solid #ecd9b8;
}

.support-region-copy{
max-width:520px;
margin:4px 0 0;
color:#6a5647;
line-height:1.7;
}

.support-chat-window{
display:grid;
gap:12px;
padding:16px;
min-height:280px;
max-height:320px;
overflow:auto;
border-radius:18px;
background:linear-gradient(180deg,#fff,#f7f1e8);
border:1px solid #eee3d7;
}

.support-chat-bubble{
max-width:78%;
padding:12px 14px;
border-radius:16px;
font-size:14px;
line-height:1.6;
}

.support-chat-bubble.agent{
background:#fff;
border:1px solid #eadfd2;
color:#4b3c2f;
}

.support-chat-bubble.user{
margin-left:auto;
background:#2f241c;
color:#fff7ee;
}

.support-chat-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:16px 0 14px;
}

.support-chat-questions{
margin-top:16px;
}

.support-chat-label{
margin:0 0 10px;
font-size:12px;
font-weight:800;
letter-spacing:1.4px;
text-transform:uppercase;
color:#a37a37;
}

.support-chat-chip-row{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.support-chat-chip{
padding:10px 14px;
border-radius:999px;
border:1px solid #e0d1be;
background:#fff;
color:#4b3c2f;
font:inherit;
font-size:13px;
font-weight:700;
cursor:pointer;
transition:.2s ease;
}

.support-chat-chip:hover{
background:#f5ecdf;
transform:translateY(-1px);
}

.support-chat-input{
display:grid;
grid-template-columns:1fr auto;
gap:10px;
}

.support-chat-input input{
padding:14px 16px;
border:1px solid #dfd1c2;
border-radius:14px;
font:inherit;
background:#fff;
}

.support-chat-input button{
padding:14px 18px;
border:none;
border-radius:14px;
background:#2f241c;
color:#fffaf4;
font:inherit;
font-weight:700;
cursor:pointer;
}

.contact-map-card{
margin-top:6px;
border-radius:20px;
overflow:hidden;
border:1px solid #e8dcc8;
box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3);
}

.contact-map-card iframe{
width:100%;
min-height:340px;
border:0;
display:block;
}

.account-setting-card.danger{
background:#fff4f2;
}

.account-logout-section{
display:grid;
gap:12px;
}

.account-logout-copy{
margin:0;
color:#6b5b4f;
line-height:1.6;
}

.account-logout-btn{
width:100%;
}

.profile-empty{
padding:18px;
color:#6c5b4c;
}

.profile-list-actions{
justify-content:flex-end;
margin-top:0;
min-width:190px;
}

@media (max-width: 1024px){
.account-quick-grid,
.account-detail-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.legal-highlight-grid,
.legal-content-grid{
grid-template-columns:1fr;
}

.account-settings-grid,
.account-support-grid{
grid-template-columns:repeat(2,1fr);
}

.account-notification-grid{
grid-template-columns:repeat(2,1fr);
}

.support-contact-layout{
grid-template-columns:1fr;
}
}

@media (max-width: 768px){
.account-shell,
.account-page-shell{
padding:16px 12px 28px;
gap:12px;
}

.account-header,
.account-page-hero,
.account-user-card,
.profile-list-card{
grid-template-columns:1fr;
flex-direction:column;
align-items:flex-start;
}

.account-header{
padding:18px 16px;
gap:16px;
}

.account-header h1,
.account-page-hero h1{
font-size:28px;
line-height:1.06;
margin-bottom:6px;
}

.legal-hero-actions{
width:100%;
justify-items:start;
}

.account-quick-grid,
.account-settings-grid,
.account-notification-grid,
.account-support-grid{
 grid-template-columns:1fr;
}

.account-detail-grid{
 grid-template-columns:1fr;
}

.account-form-grid{
 grid-template-columns:1fr;
}

.account-header,
.account-page-hero,
.account-section,
.support-contact-card,
.support-chat-card{
padding:18px 16px;
border-radius:18px;
box-shadow:0 10px 24px rgba(31,19,24,0.05);
}

.account-user-copy h2,
.account-section-head h3,
.profile-list-card h4{
font-size:20px;
line-height:1.2;
}

.profile-list-actions{
min-width:0;
width:100%;
}

.account-section-head{
flex-direction:column;
gap:4px;
}

.account-links{
display:none;
}

.account-links a{
white-space:nowrap;
padding:10px 12px;
font-size:13px;
}

.account-home-link,
.account-primary-btn,
.account-secondary-btn,
.support-chat-input button{
width:100%;
}

.support-chat-actions,
.profile-list-actions,
.account-form-actions{
flex-direction:column;
align-items:stretch;
}

.support-chat-chip-row{
overflow-x:auto;
flex-wrap:nowrap;
padding-bottom:4px;
}

.support-chat-chip{
white-space:nowrap;
}

.support-chat-input{
grid-template-columns:1fr;
}

.support-chat-window{
min-height:240px;
max-height:280px;
padding:14px;
}

.account-user-card{
padding:16px;
gap:12px;
border-radius:18px;
}

.account-avatar-wrap{
width:56px;
height:56px;
}

.account-avatar-fallback{
font-size:18px;
}

.account-user-copy p,
.account-user-copy span,
.account-header p,
.account-page-hero p,
.profile-list-card p{
font-size:14px;
line-height:1.55;
}

.account-quick-card{
padding:14px;
border-radius:16px;
display:grid;
gap:4px;
}

.account-quick-card strong{
font-size:24px;
}

.account-quick-card span,
.account-detail-card span,
.account-setting-card span,
.account-support-card span,
.account-item-label{
font-size:11px;
letter-spacing:1.2px;
}

.account-detail-card,
.account-setting-card,
.account-support-card,
.profile-list-card,
.profile-empty{
border-radius:16px;
}

.account-detail-card{
padding:14px;
}

.account-detail-card strong,
.account-setting-card strong,
.account-support-card strong{
font-size:15px;
line-height:1.45;
}

.account-user-card{
grid-template-columns:auto 1fr;
align-items:center;
}

.account-primary-btn#toggleProfileEdit{
grid-column:1 / -1;
}

.profile-list-card{
padding:16px;
gap:14px;
}

.profile-list-actions,
.account-form-actions{
flex-direction:column;
align-items:stretch;
gap:8px;
}

.profile-badge,
.profile-list-actions .account-secondary-btn,
.profile-list-actions .account-primary-btn{
width:100%;
justify-content:center;
box-sizing:border-box;
}

.account-setting-card,
.account-support-card{
padding:16px;
min-height:auto;
}

.account-home-link{
min-height:46px;
width:100%;
}
}

@media (max-width: 520px){
.account-shell,
.account-page-shell{
padding:10px 10px 22px;
}

.account-header,
.account-page-hero,
.account-section,
.account-user-card,
.profile-list-card,
.support-contact-card,
.support-chat-card{
padding:16px 14px;
border-radius:18px;
}

.account-header h1,
.account-page-hero h1{
font-size:24px;
}

.account-user-copy h2,
.account-section-head h3,
.profile-list-card h4{
font-size:18px;
}

.account-quick-card strong{
font-size:22px;
}

.account-quick-grid,
.account-detail-grid,
.account-settings-grid,
.account-notification-grid,
.account-support-grid{
grid-template-columns:1fr;
gap:8px;
}

.account-links{
gap:8px;
}

.account-links a{
font-size:13px;
padding:9px 12px;
}

.profile-list-actions{
flex-direction:row !important;
flex-wrap:wrap;
}

.support-contact-card h4,
.support-chat-head h4{
font-size:26px;
}

.account-quick-grid,
.account-detail-grid,
.account-settings-grid,
.account-notification-grid,
.account-support-grid{
gap:8px;
}

.account-quick-card{
padding:13px 12px;
}

.account-header p,
.account-user-copy p,
.account-user-copy span,
.profile-list-card p,
.account-logout-copy{
font-size:13px;
}

.account-detail-card strong,
.account-setting-card strong,
.account-support-card strong{
font-size:14px;
}

.account-home-link,
.account-primary-btn,
.account-secondary-btn{
min-height:44px;
font-size:14px;
}
}
