/* IABR Heritage Prestige design system - public, applicant and administration. */
:root{
  --prestige-midnight:#06172d;
  --prestige-navy:#0a2444;
  --prestige-blue:#123b66;
  --prestige-gold:#d9ab4d;
  --prestige-champagne:#f1d9a8;
  --prestige-ivory:#fbf8f1;
  --prestige-saffron:#ed8423;
  --prestige-teal:#14725e;
  --prestige-ink:#13243b;
  --prestige-muted:#718096;
  --prestige-line:rgba(9,35,67,.11);
  --prestige-shadow:0 24px 70px rgba(5,23,45,.13);
  --prestige-shadow-soft:0 14px 40px rgba(5,23,45,.08);
}

body{letter-spacing:-.006em}
.container{width:min(1240px,calc(100% - 56px))}

/* Global controls */
.button{
  min-height:48px;
  border-radius:12px;
  padding-inline:24px;
  background:linear-gradient(135deg,#f39a3e 0%,var(--prestige-saffron) 54%,#d96812 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 13px 28px rgba(227,111,23,.24),inset 0 1px 0 rgba(255,255,255,.25);
  letter-spacing:.015em;
}
.button:hover{box-shadow:0 18px 36px rgba(227,111,23,.3),inset 0 1px 0 rgba(255,255,255,.28)}
.button-outline{border-color:rgba(8,35,67,.14)!important;box-shadow:0 7px 20px rgba(5,23,45,.05)!important}
.field input,.field select,.field textarea{
  min-height:47px;
  border-radius:11px;
  padding:13px 15px;
  border-color:rgba(8,35,67,.13);
  box-shadow:inset 0 1px 0 rgba(6,23,45,.015);
}
.field textarea{min-height:auto}
.field label,.field>span{font-size:10px;letter-spacing:.025em}

/* Prestige masthead */
.announcement{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,#041226,#0a294c 58%,#071b33);
  color:#dbe7f2;
}
.announcement:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(217,171,77,.09),transparent);pointer-events:none}
.announcement .container{min-height:42px;position:relative;z-index:1}
.announcement-copy{display:flex;align-items:center;gap:11px}
.announcement-copy>i{width:6px;height:6px;border-radius:50%;background:var(--prestige-gold);box-shadow:0 0 0 5px rgba(217,171,77,.12)}
.announcement-copy>b{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.announcement-copy>b+span{padding-left:12px;border-left:1px solid rgba(255,255,255,.15);font-size:10px;color:#9fb3c8}
.announcement a{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#f5e7ca}
.announcement a span{color:var(--prestige-gold);font-size:15px}
.site-header{
  background:color-mix(in srgb,var(--mode-surface,#fff) 92%,transparent)!important;
  border-bottom-color:rgba(9,35,67,.09)!important;
  box-shadow:0 8px 30px rgba(5,23,45,.035);
}
.nav-wrap{min-height:88px}
.brand{gap:14px}
.brand-seal{
  width:57px;height:57px;
  background:radial-gradient(circle at 50% 44%,#123c68 0 45%,#0b2a4d 46% 55%,#d9ab4d 56% 59%,#06172d 60% 100%);
  border-color:#e2ba67;
  box-shadow:inset 0 0 0 3px #071a32,0 9px 24px rgba(5,23,45,.2),0 0 0 1px rgba(217,171,77,.25);
}
.brand-seal:after{content:"";position:absolute;inset:7px;border:1px dotted rgba(241,217,168,.6);border-radius:50%}
.brand-seal b{position:relative;z-index:1;font-size:27px}
.brand-seal i{z-index:2;color:#f0d99f}
.brand strong{font-size:17px;letter-spacing:.07em}
.brand small{margin-top:7px;color:#ca711d;letter-spacing:.31em}
.main-nav{gap:27px;font-size:11px;letter-spacing:.025em}
.main-nav>a:not(.button){position:relative;padding:10px 0}
.main-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--prestige-gold);transition:right .2s}
.main-nav>a:not(.button):hover:after{right:0}

/* Public hero */
.hero{
  background:
    radial-gradient(circle at 78% 40%,rgba(217,171,77,.11),transparent 32%),
    linear-gradient(112deg,#fcfaf5 0%,#fff 51%,#f5efe3 100%)!important;
  border-bottom:1px solid rgba(9,35,67,.06);
}
.hero:before{width:6px;background:linear-gradient(#ed8423 0 32%,#fff 32% 66%,#14725e 66%)}
.hero:after{opacity:.055;background-size:30px 30px;mask-image:linear-gradient(90deg,#000,transparent 68%)}
.hero-grid{min-height:684px;grid-template-columns:1.03fr .97fr;gap:76px;padding:63px 0 122px}
.hero-standard{display:flex;align-items:center;gap:10px;margin-top:18px;color:#9a7b3d;font-size:8px;font-weight:800;letter-spacing:.18em}
.hero-standard i{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--prestige-gold),transparent)}
.hero h1{max-width:740px;margin:13px 0 23px;font-size:clamp(50px,5.25vw,76px);line-height:.96;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 1px 0 #fff}
.hero h1 em{background:linear-gradient(90deg,#d96c0b,#ed9b3e);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{max-width:620px;font-size:16px;line-height:1.8;color:#617084}
.hero-actions{margin-top:34px;gap:28px}
.hero-actions .button{min-height:55px;padding-inline:28px}
.hero-actions .button span{font-size:16px;color:#ffe7c7}
.hero-link{display:flex;align-items:center;gap:10px;border:0;padding:0;font-size:11px;letter-spacing:.035em}
.hero-link i{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(9,35,67,.16);background:#fff;box-shadow:0 8px 20px rgba(5,23,45,.08);font-style:normal;color:var(--prestige-saffron)}
.trust-row{margin-top:38px;gap:14px}
.trust-row p{font-size:9px;line-height:1.55}
.trust-row strong{font-size:10px;letter-spacing:.015em}
.trust-divider{width:1px;height:34px;margin-inline:6px;background:rgba(9,35,67,.13)}
.avatar-stack i{box-shadow:0 4px 12px rgba(5,23,45,.12)}
.hero-art{height:520px}
.crest-orbit{position:absolute;border-radius:50%;border:1px solid rgba(10,46,82,.12);pointer-events:none}
.crest-orbit:before,.crest-orbit:after{content:"";position:absolute;border-radius:50%;inset:8%;border:1px dashed rgba(217,171,77,.22)}
.crest-orbit:after{inset:20%;border-style:solid;border-color:rgba(10,46,82,.08)}
.orbit-one{width:500px;height:500px;right:-35px;top:5px}
.orbit-two{width:330px;height:330px;left:-14px;bottom:-20px}
.hero-medallion{
  right:34px;top:19px;width:405px;height:458px;border-radius:48% 48% 24px 24px;
  background:
    radial-gradient(circle at 50% 42%,rgba(217,171,77,.1),transparent 28%),
    linear-gradient(155deg,#15446f 0%,#092744 48%,#05172c 100%);
  border:10px solid rgba(255,255,255,.96);
  box-shadow:0 34px 75px rgba(5,23,45,.23),0 0 0 1px rgba(217,171,77,.18);
}
.hero-medallion:before{font-size:250px;color:rgba(255,255,255,.045);top:44%}
.hero-medallion:after{inset:33px;border-color:rgba(217,171,77,.38);padding-bottom:39px;content:"EXCELLENCE • INTEGRITY • DISTINCTION •"}
.medallion-crown{position:absolute;left:50%;top:70px;transform:translateX(-50%);white-space:nowrap;color:#f1d9a8;font:700 9px Georgia,serif;letter-spacing:.28em}
.medallion-year{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);white-space:nowrap;color:#8ea5bb;font-size:7px;letter-spacing:.16em}
.hero-star{top:43%;width:126px;height:126px;background:linear-gradient(145deg,#f3a344,#dd7118);border:1px solid #f7d594;box-shadow:0 0 0 8px rgba(217,171,77,.1),0 17px 35px rgba(0,0,0,.25)}
.float-card{display:flex;align-items:center;gap:12px;border-radius:14px;padding:14px 17px;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 45px rgba(5,23,45,.16);backdrop-filter:blur(18px)}
.float-card div{display:flex;flex-direction:column}
.float-card strong{font-size:13px}
.float-card small{margin-top:3px;font-size:8px}
.float-one{left:-21px;top:104px}
.float-two{left:3px;bottom:28px}
.card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e4f3ed;color:var(--prestige-teal);font-weight:900}
.card-number{font:500 28px Georgia,serif;color:var(--prestige-saffron)}
.prestige-seal{position:absolute;z-index:5;right:1px;bottom:12px;width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#e7c470,#b88a32);border:4px double rgba(255,255,255,.76);color:#142841;box-shadow:0 14px 30px rgba(5,23,45,.22);transform:rotate(8deg)}
.prestige-seal span,.prestige-seal small{font-size:6px;letter-spacing:.13em;font-weight:900}
.prestige-seal b{font-size:23px;line-height:1;color:#fff6d8}

/* Registry search */
.search-panel{
  bottom:-50px;min-height:104px;grid-template-columns:235px 1fr 205px;gap:24px;padding:17px 20px 17px 24px;
  border-radius:17px;border-color:rgba(9,35,67,.09);box-shadow:0 25px 70px rgba(5,23,45,.15),0 1px 0 #fff inset;
}
.search-title>span{width:45px;height:45px;border-radius:12px;background:linear-gradient(145deg,#0c3158,#06182f);box-shadow:0 9px 20px rgba(5,23,45,.2)}
.search-title strong{font-size:15px}.search-title small{font-size:8px;margin-top:3px}
.search-field{min-height:51px;border-radius:12px;padding:5px 5px 5px 6px}
.search-field input{font-size:12px}
.search-field button{min-height:40px;border-radius:9px!important;padding-inline:19px!important;white-space:nowrap}
.verify-shortcut{display:flex!important;align-items:center!important;gap:11px!important;min-height:50px!important;padding:0 8px!important}
.verify-shortcut>span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#fff7e8;color:#b88020;font-size:18px}
.verify-shortcut>div{display:flex;flex-direction:column}
.verify-shortcut small{font-size:7px;color:#8a97a6;text-transform:uppercase;letter-spacing:.12em}
.verify-shortcut strong{font:500 12px Georgia,serif;color:var(--prestige-navy);margin-top:2px}
.metrics-section{padding-top:102px;padding-bottom:42px}
.metric{padding-block:8px}.metric strong{font-size:33px}.metric small{font-size:8px;letter-spacing:.13em}
.category-card,.record-card,.step,.verify-result,.auth-card{border-radius:15px}
.category-card{min-height:120px;border-color:rgba(9,35,67,.1);box-shadow:0 10px 30px rgba(5,23,45,.025)}
.category-card:hover{box-shadow:0 18px 42px rgba(5,23,45,.1)}
.record-card{box-shadow:0 24px 50px rgba(0,0,0,.2)}
.journey-copy h2{letter-spacing:-.035em}
.step{border-color:rgba(9,35,67,.1);box-shadow:0 7px 25px rgba(5,23,45,.035)}
.cta-section{background:linear-gradient(115deg,#e87519,#ef9536);position:relative;overflow:hidden}
.cta-section:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(255,255,255,.16);right:-70px;top:-95px;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}
.cta-inner{position:relative;z-index:1}
.site-footer{background:linear-gradient(135deg,#041327,#071d38)}

/* Authentication */
.auth-page{background:radial-gradient(circle at 72% 25%,rgba(217,171,77,.13),transparent 25%),linear-gradient(145deg,#f8f3e8,#fff)!important}
.auth-card{padding:44px;border-color:rgba(9,35,67,.09);box-shadow:0 30px 90px rgba(5,23,45,.14)}
.auth-card:before{content:"OFFICIAL MEMBER ACCESS";display:block;margin:-14px 0 18px;color:#a27c35;font-size:7px;font-weight:900;letter-spacing:.2em}
.auth-card h1{font-size:37px;letter-spacing:-.03em}

/* Role portals */
body.app-shell{background:#eef2f5}
.sidebar{
  width:282px;padding:24px 20px 20px;
  background:
    radial-gradient(circle at 50% 0,rgba(217,171,77,.09),transparent 30%),
    linear-gradient(180deg,#071d38 0%,#041428 100%);
  border-right:1px solid rgba(217,171,77,.12);
  box-shadow:14px 0 45px rgba(4,19,39,.08);
}
.sidebar .brand{padding:0 5px 20px}.sidebar .brand-seal{width:52px;height:52px}
.sidebar-edition{margin:14px 5px 0;padding:11px 13px;border-radius:10px;border:1px solid rgba(217,171,77,.19);background:rgba(217,171,77,.055);display:flex;align-items:center;justify-content:space-between}
.sidebar-edition span{font-size:7px;color:#758ca3;text-transform:uppercase;letter-spacing:.12em}
.sidebar-edition strong{font-size:8px;color:#e4c57f;letter-spacing:.08em;text-transform:uppercase}
.sidebar-user{margin:17px 5px;padding:14px 11px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055)}
.sidebar-user>span,.topbar-avatar{background:linear-gradient(145deg,#f6a244,#dc7118);box-shadow:0 8px 20px rgba(226,113,25,.25),0 0 0 3px rgba(255,255,255,.06)}
.sidebar-user strong{font-size:10px}.sidebar-user small{letter-spacing:.08em}
.sidebar [data-sidebar-nav]{padding-top:2px}
.sidebar [data-sidebar-nav] a{position:relative;min-height:42px;padding:11px 13px;border-radius:10px;font-size:9px;letter-spacing:.012em;color:#91a6ba}
.sidebar [data-sidebar-nav] a:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(2px)}
.sidebar [data-sidebar-nav] a.active,.sidebar [data-sidebar-nav] a[aria-current="page"]{background:linear-gradient(90deg,rgba(237,132,35,.18),rgba(237,132,35,.06));box-shadow:inset 3px 0 0 #ef963d,0 8px 18px rgba(0,0,0,.08)}
.sidebar-bottom{font-size:8px;letter-spacing:.03em}
.dashboard-main{margin-left:282px;background:linear-gradient(145deg,#f3f6f8,#edf1f4)}
.dashboard-topbar{
  min-height:118px!important;padding:15px 34px!important;
  background:rgba(255,255,255,.9)!important;backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(9,35,67,.08)!important;
  box-shadow:0 8px 28px rgba(5,23,45,.035);
}
.dashboard-topbar small{color:#a27c35;font-size:7px;letter-spacing:.17em;font-weight:900}
.dashboard-topbar h1{font-size:27px;letter-spacing:-.025em}
.dashboard-content{padding:34px;max-width:1680px;margin-inline:auto}
.dashboard-grid{gap:18px}
.stat-card{
  min-height:145px;padding:24px;border-radius:15px;border-color:rgba(9,35,67,.09);
  box-shadow:0 14px 38px rgba(5,23,45,.055);overflow:hidden;
}
.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--prestige-gold),var(--prestige-saffron))}
.stat-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-46px;bottom:-48px;border:1px solid rgba(217,171,77,.13);box-shadow:0 0 0 18px rgba(217,171,77,.035)}
.stat-card small{font-size:7px;letter-spacing:.14em}.stat-card strong{font-size:37px;margin:7px 0}.stat-card p{font-size:9px}
.stat-card>span{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#fff6e7,#f6ead1);box-shadow:0 8px 18px rgba(5,23,45,.07)}
.panel{margin-top:24px;border-radius:16px;border-color:rgba(9,35,67,.09);box-shadow:0 14px 42px rgba(5,23,45,.055);overflow:hidden}
.panel-header{min-height:74px;padding:17px 23px;background:linear-gradient(180deg,#fff,#fcfdfd);border-bottom-color:rgba(9,35,67,.08)}
.panel-header h2{font-size:19px;letter-spacing:-.015em}.panel-header p{font-size:9px}
.panel-body{padding:23px}
.table-wrap{border-radius:0 0 16px 16px}
.data-table th{height:42px;padding-inline:15px;background:#f7f9fa;color:#6e7f91;font-size:7px;letter-spacing:.13em}
.data-table td{height:59px;padding:14px 15px;border-color:rgba(9,35,67,.065)}
.data-table tr:hover td{background:#fbfcfd}
.data-table strong{font-size:10px}.data-table small{font-size:8px}
.status-pill{padding:6px 10px;border-radius:999px;font-size:7px;letter-spacing:.08em}
.tabs{gap:8px}.tabs a{padding:9px 15px;border-radius:999px}
.application-header{padding:23px 25px;border:1px solid rgba(9,35,67,.09);border-radius:16px;background:linear-gradient(120deg,#fff,#fbf8f1);box-shadow:0 13px 34px rgba(5,23,45,.045)}
.application-header h2{font-size:26px;letter-spacing:-.025em}
.evidence-card,.key-values div,.setting-card,.check-item{border-radius:12px;border-color:rgba(9,35,67,.09);box-shadow:0 7px 22px rgba(5,23,45,.035)}
.evidence-card{padding:19px}.evidence-card h3{font-size:14px}
.action-bar{border-radius:14px;box-shadow:0 18px 50px rgba(5,23,45,.14)}
.modal{backdrop-filter:blur(8px)}.modal-card{border-radius:17px;box-shadow:0 35px 100px rgba(0,0,0,.32)}

/* Dark mode retains depth without flattening brand details. */
html[data-theme="dark"] .hero{background:radial-gradient(circle at 78% 40%,rgba(217,171,77,.1),transparent 30%),linear-gradient(125deg,#061326,#102840)!important}
html[data-theme="dark"] .hero h1{text-shadow:none}
html[data-theme="dark"] .hero-standard{color:#e1bd72}
html[data-theme="dark"] .hero-link i{background:#102a45;border-color:#314a63}
html[data-theme="dark"] .prestige-seal{color:#142841}
html[data-theme="dark"] .dashboard-main{background:linear-gradient(145deg,#061223,#09192a)}
html[data-theme="dark"] .dashboard-topbar{background:rgba(13,32,55,.92)!important}
html[data-theme="dark"] .panel-header{background:linear-gradient(180deg,#10253e,#0d2037)}
html[data-theme="dark"] .application-header{background:linear-gradient(120deg,#0d2037,#10253e)}
html[data-theme="dark"] .stat-card:before{background:linear-gradient(#d9ab4d,#ed8423)}
html[data-theme="dark"] .data-table tr:hover td{background:#10253e}
html[data-theme="dark"] .verify-shortcut>span{background:#2c2a22}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:1fr 430px;gap:30px}
  .hero-medallion{width:365px;height:430px}
  .search-panel{grid-template-columns:210px 1fr 185px}
}

@media(max-width:900px){
  .container{width:min(100% - 38px,1240px)}
  .hero-grid{grid-template-columns:1fr;padding-top:80px}
  .hero-art{width:min(500px,100%);margin-inline:auto}
  .search-panel{grid-template-columns:1fr;bottom:-78px;padding:18px}
  .search-title{display:flex}
  .verify-shortcut{justify-content:center!important}
  .metrics-section{padding-top:140px}
  .main-nav{top:88px;border-radius:15px}
}

@media(max-width:820px){
  .sidebar{width:282px}
  .dashboard-main{margin-left:0}
  .dashboard-content{padding:22px}
}

@media(max-width:560px){
  .container{width:min(100% - 28px,1240px)}
  .announcement-copy>b+span{display:none}
  .announcement a{font-size:0}.announcement a span{font-size:15px}
  .nav-wrap{min-height:78px}.main-nav{top:78px}
  .brand strong{font-size:13px}.brand small{font-size:7px}.brand-seal{width:48px;height:48px}
  .hero-grid{padding-top:62px;padding-bottom:155px}
  .hero h1{font-size:46px}
  .hero-copy>p{font-size:14px}
  .hero-standard{justify-content:center}
  .trust-divider,.trust-row>p:last-child{display:none}
  .hero-art{height:420px}.hero-medallion{width:84%;height:380px;right:4%;top:10px}
  .orbit-one{width:410px;height:410px;right:-65px}.orbit-two{display:none}
  .prestige-seal{width:75px;height:75px;right:0}.float-one{left:0;top:70px}.float-two{left:0;bottom:0}
  .search-panel{bottom:-102px}.metrics-section{padding-top:178px}
  .dashboard-topbar{padding-inline:15px!important}.dashboard-content{padding:15px}
  .panel-header{padding:15px 17px}.panel-body{padding:16px}
  .application-header{padding:18px}
}

@media(prefers-reduced-motion:reduce){.main-nav>a:after{transition:none}}
