/* GeorgienPlus — partner frames and responsive logo/photo panels. */
/* Local CreArt typefaces: SIL Open Font License, bundled beside these fonts. */
@font-face {
  font-family:'CreArt Bubbles';
  src:url('/assets/fonts/creart-rubik-bubbles.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'CreArt Rounded';
  src:url('/assets/fonts/creart-nunito-700.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
.ad-break {
  --ad-edge:color-mix(in srgb,var(--copper) 48%,var(--line));
  --ad-hairline:color-mix(in srgb,var(--copper) 23%,var(--line));
  --ad-wash:color-mix(in srgb,var(--copper) 6%,transparent);
  padding-block:20px;
  scroll-margin-top:110px;
  color:var(--teal);
}
.ad-break:empty,.ad-break[hidden] { display:none; }
.service-ribbon + .ad-break { padding-top:38px; }
.ad-frame {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  align-items:center;
  gap:28px;
  min-height:196px;
  padding:30px 54px;
  border:1px solid var(--ad-edge);
  border-radius:29px 9px 29px 9px;
  background:radial-gradient(ellipse at 96% 50%,var(--ad-wash),transparent 56%),var(--paper);
  box-shadow:0 9px 38px #133b3310;
}
.ad-frame::before {
  content:'';
  position:absolute;
  inset:9px;
  border:1px solid var(--ad-hairline);
  border-radius:21px 3px 21px 3px;
  pointer-events:none;
  z-index:-1;
}
.ad-frame::after {
  /* A small interlaced knot, repeated at the four corners. No font dependency. */
  --ad-knot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 46'%3E%3Cg fill='none' stroke='black' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M23 5C30 12 39 13 39 23S30 34 23 41C16 34 7 33 7 23S16 12 23 5Z'/%3E%3Cpath d='M5 23C12 16 13 7 23 7S34 16 41 23C34 30 33 39 23 39S12 30 5 23Z'/%3E%3Cpath d='M23 17L29 23 23 29 17 23Z'/%3E%3C/g%3E%3C/svg%3E");
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:var(--copper);
  opacity:.72;
  -webkit-mask-image:var(--ad-knot),var(--ad-knot),var(--ad-knot),var(--ad-knot);
  mask-image:var(--ad-knot),var(--ad-knot),var(--ad-knot),var(--ad-knot);
  -webkit-mask-size:37px 37px;
  mask-size:37px 37px;
  -webkit-mask-position:3px 3px,right 3px top 3px,left 3px bottom 3px,right 3px bottom 3px;
  mask-position:3px 3px,right 3px top 3px,left 3px bottom 3px,right 3px bottom 3px;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
.ad-content { grid-column:1; grid-row:1; min-width:0; position:relative; }
.ad-eyebrow { display:flex; flex-wrap:wrap; gap:7px 12px; align-items:center; margin-bottom:10px; font-size:11px; line-height:1.5; }
.ad-label { color:var(--copper); font-size:10px; font-weight:650; letter-spacing:.15em; text-transform:uppercase; }
.ad-placeholder-note { color:var(--muted); padding-left:12px; border-left:1px solid var(--ad-edge); overflow-wrap:anywhere; }
.ad-title { color:var(--teal); font-family:var(--serif); font-size:clamp(25px,2.7vw,34px); font-weight:400; line-height:1.12; letter-spacing:-.035em; text-wrap:balance; overflow-wrap:anywhere; }
.ad-copy { max-width:620px; color:var(--muted); font-size:14px; line-height:1.7; margin-top:10px; overflow-wrap:anywhere; }
.ad-ornament {
  position:relative;
  display:block;
  grid-column:2;
  grid-row:1;
  justify-self:center;
  width:98px;
  height:126px;
  border:1px solid var(--ad-edge);
  border-radius:50% 50% 4px 4px;
  color:var(--copper);
  pointer-events:none;
  background:linear-gradient(155deg,var(--ad-wash),transparent 65%);
}
.ad-ornament::before {
  content:'';
  position:absolute;
  inset:7px;
  border:1px solid var(--ad-hairline);
  border-radius:50% 50% 1px 1px;
}
.ad-ornament::after {
  content:'';
  position:absolute;
  width:55px;
  height:55px;
  top:39px;
  left:50%;
  transform:translateX(-50%);
  background:var(--copper);
  opacity:.65;
  -webkit-mask:url('assets/heritage/letter-an.svg') center/contain no-repeat;
  mask:url('assets/heritage/letter-an.svg') center/contain no-repeat;
}
.ad-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin-top:18px; padding:10px 17px; border:1px solid var(--action); border-radius:7px; background:var(--action); color:var(--on-action); font-size:13px; font-weight:550; line-height:1.4; overflow-wrap:anywhere; }
.ad-link:hover { filter:brightness(1.08); }
.ad-link:focus-visible { outline:3px solid var(--copper); outline-offset:5px; }
.ad-link .ui-icon { width:16px; height:16px; }
.ad-visual {
  position:relative;
  grid-column:2;
  grid-row:1;
  justify-self:end;
  width:100%;
  max-width:340px;
  min-width:0;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border:1px solid var(--ad-hairline);
  border-radius:40px 10px 40px 10px;
  background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--copper) 16%,transparent),transparent 74%),var(--surface-soft,var(--paper));
  box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--paper) 45%,transparent);
}
.ad-visual img {
  position:absolute;
  inset:0;
  display:block;
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding:16px;
  object-fit:contain;
  object-position:center;
}
.ad-visual[data-fit='cover'] img { object-fit:cover; padding:0; }
.ad-frame.ad-has-visual { grid-template-columns:minmax(0,1fr) minmax(210px,30%); gap:32px; }
.ad-frame.ad-has-visual .ad-ornament { display:none; }
.ad-frame[data-configured='true'] .ad-placeholder-note { font-weight:550; }
:root[data-theme='dark'] .ad-frame { box-shadow:0 12px 40px #0002; }
@media (hover:hover) {
  .ad-frame[data-configured='true']:hover { border-color:var(--copper); }
}
@media (max-width:850px) {
  .ad-frame { gap:18px; grid-template-columns:minmax(0,1fr) 102px; padding:29px 40px; }
  .ad-frame.ad-has-visual { grid-template-columns:minmax(0,1fr) minmax(180px,32%); gap:22px; }
  .ad-ornament { width:82px; height:109px; }
  .ad-ornament::after { width:48px; height:48px; top:33px; }
}
@media (max-width:680px) {
  .ad-break { padding-block:15px; }
  .service-ribbon + .ad-break { padding-top:25px; }
  .ad-frame { display:block; min-height:202px; padding:29px 28px; border-radius:25px 8px 25px 8px; }
  .ad-frame::before { inset:8px; border-radius:18px 3px 18px 3px; }
  .ad-frame::after { -webkit-mask-size:31px 31px; mask-size:31px 31px; }
  .ad-content { z-index:1; }
  .ad-eyebrow { display:block; margin-bottom:13px; }
  .ad-label { display:block; font-size:10px; }
  .ad-placeholder-note { display:block; margin-top:4px; padding-left:0; border-left:0; font-size:11px; }
  .ad-title { max-width:25ch; font-size:27px; }
  .ad-copy { font-size:13px; margin-top:11px; line-height:1.65; }
  .ad-ornament { position:absolute; right:25px; top:30px; width:64px; height:83px; opacity:.18; z-index:0; }
  .ad-ornament::before { inset:5px; }
  .ad-ornament::after { width:38px; height:38px; top:25px; }
  .ad-visual { margin:22px auto 0; border-radius:30px 8px 30px 8px; }
  .ad-link { max-width:100%; }
}
@media (max-width:360px) {
  .ad-frame { padding:27px 25px; }
  .ad-title { font-size:24px; }
}
/* The CreArt worlds keep their own colour identity inside the partner frame. */
.ad-frame[data-visual-theme='creart'] {
  --copper:#ffb264;
  --teal:#fff4e8;
  --muted:#ded9e4;
  --paper:#18182c;
  --action:#ff9638;
  --on-action:#271607;
  --ad-edge:#bc874f;
  --ad-hairline:#ffc57b45;
  --ad-wash:#ffad4520;
  --creart-glow:#db712e70;
  --creart-secondary:#107f875e;
  color:var(--teal);
  background:
    radial-gradient(ellipse at 5% 105%,#8c4f6938,transparent 66%),
    radial-gradient(ellipse at 96% 8%,var(--creart-glow),transparent 64%),
    radial-gradient(ellipse at 64% 110%,var(--creart-secondary),transparent 64%),
    linear-gradient(115deg,#26172f,#14263f 67%,#24363b);
  box-shadow:0 14px 40px #13132328,inset 0 1px 0 #ffe5bb16;
}
.ad-frame[data-creart-world='exhibition'] {
  --creart-glow:#ad55d886;
  --creart-secondary:#218ba674;
}
.ad-frame[data-creart-world='chat'] {
  --creart-glow:#2699bd75;
  --creart-secondary:#4a4cc980;
}
.ad-frame[data-visual-theme='creart']::before { z-index:2; }
.ad-frame[data-visual-theme='creart']::after { z-index:2; opacity:.9; }
.ad-universe {
  position:absolute;
  inset:1px;
  z-index:0;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
  user-select:none;
}
.ad-universe::before {
  content:'';
  position:absolute;
  width:480px;
  height:480px;
  top:50%;
  right:-28px;
  transform:translateY(-50%) rotate(-18deg);
  border:1px solid #ffd69918;
  border-radius:50%;
  box-shadow:0 0 0 46px #a4dbff08,0 0 0 96px #ffbf6708;
}
.ad-universe::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#191525a8 0%,#19152570 38%,#19152500 74%);
}
.ad-universe-coin {
  position:absolute;
  display:block;
  object-fit:contain;
  width:clamp(130px,16vw,190px);
  height:auto;
  max-width:none;
}
.ad-universe-coin--diamond { left:52%; top:-38px; opacity:.34; transform:rotate(-17deg); }
.ad-universe-coin--gold { left:41%; bottom:-49px; opacity:.30; transform:rotate(14deg); }
.ad-universe-coin--silver { width:clamp(110px,13vw,155px); right:-24px; top:57%; opacity:.28; transform:rotate(-14deg); }
.ad-frame[data-visual-theme='creart'] .ad-content,
.ad-frame[data-visual-theme='creart'] .ad-visual { z-index:1; }
.ad-frame[data-visual-theme='creart'] :is(.ad-title,.ad-placeholder-note,.ad-link) {
  font-family:'CreArt Bubbles','Arial Rounded MT Bold',ui-rounded,system-ui,sans-serif;
  font-weight:400;
  font-synthesis:none;
  letter-spacing:0;
}
.ad-frame[data-visual-theme='creart'] .ad-eyebrow { gap:8px 14px; margin-bottom:14px; }
.ad-frame[data-visual-theme='creart'] .ad-label {
  font-family:'CreArt Rounded',ui-rounded,system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  color:#ffd39a;
}
.ad-frame[data-visual-theme='creart'] .ad-placeholder-note {
  color:#ffb558;
  font-size:15px;
  line-height:1.5;
  text-shadow:0 2px 0 #6d291c,0 3px 5px #160d26;
}
.ad-frame[data-visual-theme='creart'] .ad-title {
  color:#ffad45;
  font-size:clamp(29px,2.8vw,40px);
  line-height:1.25;
  -webkit-text-stroke:1.2px #ffdda3;
  paint-order:stroke fill;
  text-shadow:0 3px 0 #a64319,0 5px 0 #421a26,0 7px 14px #090b2099;
}
.ad-frame[data-visual-theme='creart'] .ad-copy {
  color:#ffd7a6;
  font-family:'CreArt Rounded',ui-rounded,system-ui,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.65;
  margin-top:13px;
  text-shadow:0 1px 3px #130e2c80;
}
.ad-frame[data-visual-theme='creart'] .ad-visual {
  border-color:#ffca8538;
  background:radial-gradient(ellipse at 50% 55%,#ffc16d1f,transparent 70%),#101b282e;
  box-shadow:inset 0 0 0 7px #1115251f,0 8px 28px #080b1a24;
}
.ad-frame[data-visual-theme='creart'] .ad-link {
  min-height:50px;
  max-width:100%;
  padding:11px 24px;
  border:2px solid #ffd49a;
  border-radius:999px;
  background:linear-gradient(165deg,#ffc56b 0%,#ffab47 42%,#ff8b27 100%);
  color:#381a22;
  font-size:17px;
  line-height:1.35;
  text-align:center;
  text-shadow:0 1px 0 #ffe1aeaa;
  box-shadow:0 4px 0 #973d1d,0 7px 0 #140f244d,0 9px 22px #100b262e,inset 0 2px 0 #ffedc475;
  transition:box-shadow .18s ease,transform .18s ease;
}
.ad-frame[data-visual-theme='creart'] .ad-link .ui-icon { flex-shrink:0; width:18px; height:18px; }
.ad-frame[data-visual-theme='creart'] .ad-link:focus-visible { outline:3px solid #ffe7bd; outline-offset:5px; }
@media (hover:hover) {
  .ad-frame[data-visual-theme='creart']:hover { border-color:#ffbd71; }
  .ad-frame[data-visual-theme='creart'] .ad-link:hover {
    filter:none;
    background:linear-gradient(165deg,#ffd084,#ffb350 45%,#ff942f);
    box-shadow:0 5px 0 #973d1d,0 8px 0 #140f244d,0 12px 25px #f18c3424,inset 0 2px 0 #fff0cd99;
    transform:translateY(-1px);
  }
}
.ad-frame[data-visual-theme='creart'] .ad-link:active {
  transform:translateY(2px);
  box-shadow:0 2px 0 #973d1d,0 4px 10px #100b2630,inset 0 1px 0 #ffedc475;
}
@media (max-width:850px) {
  .ad-universe-coin--diamond { left:49%; top:-32px; opacity:.27; }
  .ad-universe-coin--gold { left:40%; bottom:-38px; opacity:.27; }
}
@media (max-width:680px) {
  .ad-frame[data-visual-theme='creart'] .ad-title { font-size:28px; line-height:1.27; }
  .ad-frame[data-visual-theme='creart'] .ad-placeholder-note { margin-top:5px; font-size:14px; }
  .ad-frame[data-visual-theme='creart'] .ad-copy { font-size:14px; line-height:1.7; }
  .ad-frame[data-visual-theme='creart'] .ad-link { font-size:16px; padding:11px 20px; }
  .ad-universe::before { width:330px; height:330px; right:-70px; top:auto; bottom:-40px; transform:rotate(-18deg); }
  .ad-universe::after { background:linear-gradient(180deg,#191525b8 0%,#19152570 42%,#19152500 75%); }
  .ad-universe-coin--diamond { width:132px; top:18px; left:auto; right:-31px; opacity:.26; }
  .ad-universe-coin--gold { width:144px; left:-35px; bottom:18px; opacity:.36; }
  .ad-universe-coin--silver { width:114px; top:auto; right:-24px; bottom:170px; opacity:.27; }
}
@media (prefers-reduced-motion:reduce) {
  .ad-frame[data-visual-theme='creart'] .ad-link { transition:none; }
  .ad-frame[data-visual-theme='creart'] .ad-link:is(:hover,:active) { transform:none; }
}
@media (forced-colors:active) {
  .ad-frame,.ad-frame::before,.ad-visual { border-color:CanvasText; }
  .ad-frame::after,.ad-ornament { display:none; }
  .ad-label,.ad-title,.ad-copy,.ad-placeholder-note { color:CanvasText; }
  .ad-link { color:LinkText; border-color:LinkText; }
  .ad-universe { display:none; }
  .ad-frame[data-visual-theme='creart'],
  .ad-frame[data-visual-theme='creart'] .ad-visual { background:Canvas; box-shadow:none; border-color:CanvasText; }
  .ad-frame[data-visual-theme='creart'] :is(.ad-label,.ad-title,.ad-copy,.ad-placeholder-note) { color:CanvasText; text-shadow:none; -webkit-text-stroke:0; }
  .ad-frame[data-visual-theme='creart'] .ad-link { background:ButtonFace; color:LinkText; border-color:LinkText; box-shadow:none; text-shadow:none; }
  .ad-frame[data-visual-theme='creart'] .ad-link:focus-visible { outline-color:Highlight; }
}
