/* The alternate world shares the live homepage's content, routes and tools. */
body:not([data-world="medieval"]) :is(.medieval-hero-art,.medieval-hero-panels,.m-service-art,.medieval-helmet,.m-helmet){display:none}
body[data-world="medieval"]{
  --bg:#100d1c;--surface:#21192e;--ink:#f2e9d1;--muted:#b9adc3;
  --accent:#e9bf69;--line:#68502e;--button-ink:#21182a;--radius:0;
  color:var(--ink);background:radial-gradient(ellipse at 65% 37%,#261a32 0,transparent 48%),#100d1c;
  color-scheme:dark;
}
body[data-world="medieval"] main{position:relative;isolation:isolate}
body[data-world="medieval"] :is(h1,h2,h3){font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;color:#f6ebd3}
body[data-world="medieval"] :is(h1,h2) em{font-family:Georgia,'Times New Roman',serif;color:#ebbe62;font-weight:400;font-style:italic}
body[data-world="medieval"] :is(p,.footer-bottom){color:var(--muted)}
body[data-world="medieval"] .eyebrow{color:#dbb365;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:550;letter-spacing:.2em;line-height:1.65}
body[data-world="medieval"] .wrap{max-width:1320px}
body[data-world="medieval"] a:focus-visible,body[data-world="medieval"] button:focus-visible{outline-color:#f5d88e}

/* A restrained guildhall masthead: the scene beneath supplies the spectacle. */
body[data-world="medieval"] .site-header{min-height:91px;padding-block:20px;background:#120f1eea;border-bottom:1px solid #796039;box-shadow:0 3px 0 #09080e,0 4px 0 #3d2d22;gap:28px}
body[data-world="medieval"] .brand{color:#f3e4c2;gap:12px}
body[data-world="medieval"] .brand:hover{color:#ffd886}
body[data-world="medieval"] .brand-name{font-family:Georgia,serif;font-size:19px;font-weight:600;letter-spacing:.07em}
body[data-world="medieval"] .brand-name small{font-family:'DM Sans',sans-serif;color:#b6a18b;font-size:7px;font-weight:500;letter-spacing:.25em;margin-top:6px}
body[data-world="medieval"] .brand>.monogram{display:none}
body[data-world="medieval"] :is(.medieval-helmet,.m-helmet){display:block;width:48px;height:50px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 0 #000)}
body[data-world="medieval"] .site-header nav{font-size:12px;gap:28px;color:#d1c2ac}
body[data-world="medieval"] .site-header nav a[aria-current="page"]{color:#f0cf83}
body[data-world="medieval"] .site-header nav a[aria-current="page"]:after{height:1px;bottom:2px;background:#b6863d}
body[data-world="medieval"] .site-header nav a:hover{color:#ffe2a2}
body[data-world="medieval"] .nav-cta{border:1px solid #be9349;border-radius:0;background:linear-gradient(#e9c678,#bc8b42);box-shadow:inset 0 0 0 2px #e6c984,0 3px 0 #5d3c25;font-weight:650;font-size:11px;letter-spacing:.04em}
body[data-world="medieval"] .services-menu{background:#21192bea;border-color:#88683d;border-radius:0;box-shadow:0 15px 38px #0008,0 0 0 3px #100d1c;backdrop-filter:blur(16px)}
body[data-world="medieval"] .services-menu a{border-radius:0}
body[data-world="medieval"] .services-menu small{color:#d6a251}
body[data-world="medieval"] .services-menu a:hover{background:#9f754820}
body[data-world="medieval"] .menu-toggle{color:#e9c479;border-color:#6a5031}

/* Full-width pixel landscape, protected quiet space for live type. */
body[data-world="medieval"] .home-hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;max-width:none;min-height:728px;padding:72px max(48px,calc((100vw - 1320px)/2)) 102px;overflow:hidden;border-bottom:1px solid #705236;background:#161126}
body[data-world="medieval"] .home-showcase{display:none}
body[data-world="medieval"] .medieval-hero-art{display:block;position:absolute;z-index:-3;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:center 54%;image-rendering:pixelated;background:url('/assets/medieval/hero-castle.webp') center 54%/cover no-repeat;pointer-events:none}
body[data-world="medieval"] .medieval-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 54%;image-rendering:pixelated}
body[data-world="medieval"] .home-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#100d1cee 0%,#100d1cc7 28%,#100d1c80 45%,#100d1c05 73%),linear-gradient(0deg,#100d1c 0,#100d1c55 13%,transparent 45%,#100d1c20 85%,#100d1c66);pointer-events:none}
body[data-world="medieval"] .home-hero:after{content:'';position:absolute;bottom:16px;left:max(48px,calc((100vw - 1320px)/2));right:max(48px,calc((100vw - 1320px)/2));height:1px;background:linear-gradient(90deg,#b28949a6,#8f643942 67%,transparent);pointer-events:none}
body[data-world="medieval"] .hero-copy{position:relative;z-index:2;width:57%;max-width:690px;padding-bottom:5px;min-width:0}
body[data-world="medieval"] .hero-copy>.eyebrow{font-size:9px;letter-spacing:.16em;color:#e2bf79;text-shadow:0 1px 5px #000}
body[data-world="medieval"] .status-dot{width:5px;height:5px;border-radius:0;box-shadow:0 0 11px #d8993e;transform:rotate(45deg);margin-right:9px}
body[data-world="medieval"] .hero-copy h1{font-size:clamp(55px,5.7vw,85px);line-height:1.055;font-weight:400;letter-spacing:-.046em;margin:25px 0 23px;text-shadow:0 3px 1px #0003,0 0 35px #100d1c80}
body[data-world="medieval"] .hero-copy h1 em{color:#efca7b}
body[data-world="medieval"] .hero-copy>p{font-size:16px;line-height:1.8;max-width:475px;color:#cfc0d0;text-shadow:0 1px 8px #100d1c}
body[data-world="medieval"] .actions{gap:12px;margin-top:30px}
body[data-world="medieval"] .button{position:relative;min-height:49px;border:1px solid #d1a653;border-radius:0;background:linear-gradient(180deg,#efd28d,#c39853);color:#221629;padding:15px 22px;font-size:12px;font-weight:650;letter-spacing:.005em;box-shadow:inset 0 0 0 2px #eccb8566,0 3px 0 #66452c,0 7px 15px #0002}
body[data-world="medieval"] .button:hover{color:#160e1b;background:linear-gradient(180deg,#ffe5a6,#dcac61);box-shadow:inset 0 0 0 2px #f8d99988,0 3px 0 #745032,0 8px 22px #0004;transform:translateY(-2px)}
body[data-world="medieval"] .button.secondary{background:#18122285;border-color:#8a6b46;color:#ead8b4;box-shadow:inset 0 0 0 2px #8c673018,0 3px 0 #0c0913;backdrop-filter:blur(8px)}
body[data-world="medieval"] .button.secondary:hover{border-color:#d3ac61;background:#302137b3;color:#ffe4a6}
body[data-world="medieval"] .hero-footnote{color:#ab987b;font-size:8px;letter-spacing:.16em;margin-top:33px;gap:14px}
body[data-world="medieval"] .hero-footnote>i{width:28px;background:#89643f}
body[data-world="medieval"] .medieval-hero-panels{display:grid;position:absolute;z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));right:max(48px,calc((100vw - 1320px)/2));bottom:53px;width:min(43%,550px);border-block:1px solid #c296574c;background:linear-gradient(180deg,#191320b3,#100d1cee);backdrop-filter:blur(7px)}
body[data-world="medieval"] .medieval-hero-panels>:is(a,div){display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-height:105px;padding:16px 10px;text-align:center;border-right:1px solid #bd92452e}
body[data-world="medieval"] .medieval-hero-panels>:last-child{border-right:0}
body[data-world="medieval"] .medieval-hero-panels .m-panel-icon{height:30px;width:30px;object-fit:contain;image-rendering:pixelated;color:#d9af60;margin-bottom:7px;filter:drop-shadow(0 2px 0 #000)}
body[data-world="medieval"] .medieval-hero-panels strong{font:400 20px/1.2 Georgia,serif;color:#f3dfb0;letter-spacing:.025em}
body[data-world="medieval"] .medieval-hero-panels :is(small,span){font:500 8px/1.65 'DM Sans',sans-serif;color:#b5a28f;letter-spacing:.13em;text-transform:uppercase;margin-top:5px}
body[data-world="medieval"] .medieval-hero-panels>a:hover{background:#e4b5620c}
body[data-world="medieval"] .discipline-strip{background:#181221;border-block:1px solid #5c452c;color:#b7a58d;gap:clamp(14px,3.5vw,57px);font-size:9px;letter-spacing:.2em;padding:23px 30px}
body[data-world="medieval"] .discipline-strip i{color:#715235;font-size:14px}
body[data-world="medieval"] .discipline-strip strong{color:#dabc76;font-weight:600}

/* Six scenes, six real services. A dark inventory frame keeps the art coherent. */
body[data-world="medieval"] .section{padding-block:85px 95px}
body[data-world="medieval"] .section-heading{align-items:end;gap:50px;margin-bottom:37px}
body[data-world="medieval"] .section-heading h2{font-family:Georgia,serif;font-size:clamp(35px,3.5vw,51px);font-weight:400;line-height:1.13;letter-spacing:-.035em;margin-top:16px}
body[data-world="medieval"] .section-heading>p{max-width:315px;color:#ac9db3;font-size:14px;line-height:1.8;padding-bottom:3px}
body[data-world="medieval"] .service-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:23px}
body[data-world="medieval"] .service-tile{isolation:isolate;display:flex;grid-column:auto;grid-row:auto;min-height:418px;padding:0;border:1px solid #806342;border-radius:0;background:#21182c;color:#efe0bc;box-shadow:0 3px 0 #09080e,inset 0 0 0 3px #100d1c;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
body[data-world="medieval"] .service-tile:hover{color:#ffe7b2;transform:translateY(-5px);border-color:#dfb76b;box-shadow:0 5px 0 #08060e,0 14px 30px #0004}
body[data-world="medieval"] .service-tile:before{content:'';position:absolute;inset:4px;z-index:3;border:1px solid #cd9a4a26;pointer-events:none}
body[data-world="medieval"] .service-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#100c1b45 0%,transparent 24%,transparent 42%,#21182c 69%,#21182c 100%);pointer-events:none}
body[data-world="medieval"] .m-service-art{display:block;position:absolute;z-index:-2;left:0;top:0;width:100%;height:287px;object-fit:cover;object-position:center;image-rendering:pixelated;transition:filter .35s ease,transform 1s ease}
body[data-world="medieval"] .service-tile:hover .m-service-art{filter:brightness(1.12);transform:scale(1.025)}
body[data-world="medieval"] .service-tile :is(.mini-browser,.mini-flow,.mini-modules,.mini-growth,.mini-people,.mini-system){display:none}
body[data-world="medieval"] .tile-header{padding:17px 21px 0;min-height:42px;z-index:4;text-shadow:0 1px 6px #000,0 2px 3px #000}
body[data-world="medieval"] .tile-header>span{font:600 8px/1.5 'DM Sans',sans-serif;letter-spacing:.14em;color:#e8d5a9}
body[data-world="medieval"] .tile-header>.icon{width:15px;height:15px;color:#f3d88e;filter:drop-shadow(0 1px 2px #000)}
body[data-world="medieval"] .tile-copy{padding:13px 25px 25px;min-height:146px;display:flex;flex-direction:column;justify-content:flex-start}
body[data-world="medieval"] .tile-copy h3{font:400 25px/1.15 Georgia,serif;letter-spacing:-.035em;max-width:100%;margin:0 0 10px;color:#f1ddad}
body[data-world="medieval"] .tile-copy p{font-size:12px;line-height:1.7;max-width:320px;color:#bbaac2;opacity:1;margin:0}
body[data-world="medieval"] .tile-websites{--scene-glow:#6656bd}
body[data-world="medieval"] .tile-ai{--scene-glow:#55a7a2}
body[data-world="medieval"] .tile-software{--scene-glow:#b37c42}
body[data-world="medieval"] .tile-sales{--scene-glow:#bc775b}
body[data-world="medieval"] .tile-recruitment{--scene-glow:#7b90a5}
body[data-world="medieval"] .tile-operations{--scene-glow:#789158}

/* A working forge, not a decorative photograph box. */
body[data-world="medieval"] .approach-section{position:relative;isolation:isolate;background:#1a1322;border-block:1px solid #65492f;padding:73px 0 67px;overflow:hidden}
body[data-world="medieval"] .approach-section:before{content:'';position:absolute;z-index:-2;top:0;right:0;width:52%;height:100%;background:url('/assets/medieval/blacksmith.webp') center 46%/cover no-repeat;image-rendering:pixelated;opacity:.82}
body[data-world="medieval"] .approach-section:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a1322 0%,#1a1322 39%,#1a1322c7 52%,#1a132247 78%),linear-gradient(0deg,#1a1322 0%,#1a1322de 25%,transparent 70%);pointer-events:none}
body[data-world="medieval"] .approach-section .eyebrow{color:#d6aa61}
body[data-world="medieval"] .approach-section .section-heading{display:block;max-width:650px;margin-bottom:50px}
body[data-world="medieval"] .approach-section .section-heading h2{font-size:clamp(36px,3.5vw,51px);max-width:650px}
body[data-world="medieval"] .approach-section .section-heading>p{max-width:390px;margin-top:23px;color:#bcacbc;font-size:14px}
body[data-world="medieval"] .approach-grid{position:relative;margin-top:0;gap:35px;padding-top:25px;border-top:1px solid #ab834740}
body[data-world="medieval"] .approach-grid article{border-color:#ab83473b;padding-right:24px}
body[data-world="medieval"] .approach-grid article>span{display:inline-block;color:#d2a35d;font:10px/1 monospace;letter-spacing:.12em;margin:0 0 20px;padding:7px 8px;border:1px solid #7a5637;background:#1c1425}
body[data-world="medieval"] .approach-grid h3{font:400 27px/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 11px;color:#e8d4ab}
body[data-world="medieval"] .approach-grid p{font-size:13px;line-height:1.75;color:#b9a6bc;max-width:310px}

/* The person behind the quest remains at the heart of the page. */
body[data-world="medieval"] .about-band{position:relative;border:0;padding-block:84px 88px;grid-template-columns:1.15fr 1fr;gap:8px 90px}
body[data-world="medieval"] .about-band:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#b38b454f,#b38b452f 75%,transparent)}
body[data-world="medieval"] .about-band h2{font:400 46px/1.17 Georgia,serif;letter-spacing:-.035em;margin:19px 0 0}
body[data-world="medieval"] .about-band h2 em{font-size:.97em;color:#dab474}
body[data-world="medieval"] .about-band>div{padding-top:22px}
body[data-world="medieval"] .about-band p{font-size:15px;line-height:1.85;color:#b9adbf;max-width:520px;margin-bottom:25px}
body[data-world="medieval"] .homepage-explainer{padding-block:80px 72px}
body[data-world="medieval"] .homepage-explainer-heading{margin-bottom:30px}
body[data-world="medieval"] .homepage-explainer-heading h2{font-family:Georgia,serif;font-size:42px;line-height:1.15;font-weight:400;letter-spacing:-.025em;color:#efdfbd}
body[data-world="medieval"] .homepage-explainer-heading>p{font-size:14px;color:#b7a7bd}
body[data-world="medieval"] [data-website-explainer]{color-scheme:dark;box-shadow:0 0 0 1px #725537,0 4px 0 #09080e}

/* The last invitation sits beside the campfire, with plenty of quiet for text. */
body[data-world="medieval"] .closing{position:relative;isolation:isolate;width:100%;max-width:none;text-align:left;padding:93px max(48px,calc((100vw - 1320px)/2)) 102px;min-height:388px;border-top:1px solid #7a563437;background:#181222;overflow:hidden}
body[data-world="medieval"] .closing:before{content:'';position:absolute;inset:0 0 0 45%;z-index:-2;background:url('/assets/medieval/campfire.webp') center 50%/cover no-repeat;image-rendering:pixelated;opacity:.88}
body[data-world="medieval"] .closing:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#181222 0,#181222 39%,#181222b3 55%,#18122200 80%),linear-gradient(0deg,#181222b3,transparent 60%);pointer-events:none}
body[data-world="medieval"] .closing h2{font-family:Georgia,serif;font-size:clamp(39px,4.1vw,57px);line-height:1.09;letter-spacing:-.04em;margin:17px 0 20px;max-width:730px}
body[data-world="medieval"] .closing p{color:#c2b0c5;max-width:430px;margin:0 0 29px;font-size:14px;line-height:1.8}
body[data-world="medieval"] .site-footer{border-top:1px solid #654a2d;padding:35px 0 24px}
body[data-world="medieval"] .footer-top{padding-bottom:31px}
body[data-world="medieval"] .footer-top>p{font-size:12px;color:#978598}
body[data-world="medieval"] .footer-top>p strong{color:#cabb9f}
body[data-world="medieval"] .footer-top .brand-name{font-size:17px}
body[data-world="medieval"] .footer-top :is(.medieval-helmet,.m-helmet){width:41px;height:46px}
body[data-world="medieval"] .footer-bottom{border-color:#5d462b;font-size:10px;color:#948397;padding-top:22px}
body[data-world="medieval"] .toast{background:#e2c488;color:#21192a;border:1px solid #ffe0a0;border-radius:0}

@media(min-width:1700px){
  body[data-world="medieval"] .home-hero{min-height:800px}
  body[data-world="medieval"] .medieval-hero-art,body[data-world="medieval"] .medieval-hero-art img{object-position:center 53%}
}
@media(max-width:1150px){
  body[data-world="medieval"] .home-hero{min-height:690px}
  body[data-world="medieval"] .hero-copy{width:62%;max-width:660px}
  body[data-world="medieval"] .hero-copy h1{font-size:66px}
  body[data-world="medieval"] .hero-copy>p{max-width:420px;font-size:15px}
  body[data-world="medieval"] .medieval-hero-panels{width:36%;bottom:54px}
  body[data-world="medieval"] .medieval-hero-panels strong{font-size:17px}
  body[data-world="medieval"] .medieval-hero-panels :is(small,span){font-size:7px;letter-spacing:.07em}
  body[data-world="medieval"] .service-gallery{gap:17px}
  body[data-world="medieval"] .service-tile{min-height:402px}
  body[data-world="medieval"] .m-service-art{height:255px}
  body[data-world="medieval"] .tile-copy{min-height:166px;padding:14px 21px 23px}
  body[data-world="medieval"] .tile-copy h3{font-size:23px}
  body[data-world="medieval"] .tile-copy p{font-size:11px}
  body[data-world="medieval"] .tile-header{padding-inline:19px}
  body[data-world="medieval"] .tile-header>span{font-size:7px}
  body[data-world="medieval"] .about-band{gap:10px 55px}
  body[data-world="medieval"] .about-band h2{font-size:42px}
}
@media(max-width:960px){
  body[data-world="medieval"] .site-header nav{gap:18px;font-size:11px}
  body[data-world="medieval"] .site-header{padding-inline:30px}
  body[data-world="medieval"] .brand-name{font-size:16px}
  body[data-world="medieval"] .nav-cta{margin-left:5px}
  body[data-world="medieval"] .wrap{width:calc(100% - 60px)}
  body[data-world="medieval"] .home-hero{width:100%;padding-inline:30px;min-height:690px}
  body[data-world="medieval"] .hero-copy{width:68%}
  body[data-world="medieval"] .hero-copy h1{font-size:61px}
  body[data-world="medieval"] .home-hero:before{background:linear-gradient(90deg,#100d1cf0,#100d1cb3 43%,#100d1c00 90%),linear-gradient(0deg,#100d1c,#100d1c40 20%,transparent 70%)}
  body[data-world="medieval"] .medieval-hero-panels{right:30px;bottom:43px;width:33%}
  body[data-world="medieval"] .medieval-hero-panels>:is(a,div){padding:12px 5px;min-height:92px}
  body[data-world="medieval"] .medieval-hero-panels :is(small,span){display:none}
  body[data-world="medieval"] .medieval-hero-panels strong{font-size:16px}
  body[data-world="medieval"] .service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  body[data-world="medieval"] .service-tile{min-height:410px}
  body[data-world="medieval"] .m-service-art{height:285px}
  body[data-world="medieval"] .tile-copy{min-height:147px;padding:13px 24px 24px}
  body[data-world="medieval"] .tile-copy h3{font-size:25px}
  body[data-world="medieval"] .tile-copy p{font-size:12px}
  body[data-world="medieval"] .tile-header>span{font-size:8px}
  body[data-world="medieval"] .section-heading{gap:30px}
  body[data-world="medieval"] .section-heading>p{max-width:260px;font-size:13px}
  body[data-world="medieval"] .about-band h2{font-size:37px}
  body[data-world="medieval"] .about-band p{font-size:14px}
  body[data-world="medieval"] .closing{padding-inline:30px}
}
@media(max-width:760px){
  body[data-world="medieval"] .site-header{min-height:79px;padding:15px 23px}
  body[data-world="medieval"] .site-header .brand-name{font-size:17px}
  body[data-world="medieval"] .site-header nav{gap:0;font-size:14px;background:#1a1324;border-color:#775837}
  body[data-world="medieval"] .site-header nav>a,body[data-world="medieval"] .services-nav>a{color:#dbc9ad}
  body[data-world="medieval"] .services-menu{box-shadow:none;background:#22182e;backdrop-filter:none;min-width:0}
  body[data-world="medieval"] .site-header .nav-cta{font-size:13px}
  body[data-world="medieval"] .wrap{width:calc(100% - 46px)}
  body[data-world="medieval"] .home-hero{width:100%;display:block;padding:61px 23px 49px;min-height:870px}
  body[data-world="medieval"] .medieval-hero-art{background-position:68% bottom;background-size:auto 68%}
  body[data-world="medieval"] .medieval-hero-art,body[data-world="medieval"] .medieval-hero-art img{object-position:66% bottom}
  body[data-world="medieval"] .home-hero:before{background:linear-gradient(180deg,#100d1cf5 0,#100d1ce6 29%,#100d1c96 53%,#100d1c00 74%,#100d1c80 100%),linear-gradient(90deg,#100d1c50,transparent 95%)}
  body[data-world="medieval"] .hero-copy{width:100%;max-width:600px;padding:0}
  body[data-world="medieval"] .hero-copy h1{font-size:clamp(48px,8.4vw,67px);line-height:1.075;max-width:560px;margin:23px 0 23px}
  body[data-world="medieval"] .hero-copy>.eyebrow{font-size:8px;letter-spacing:.13em;max-width:460px}
  body[data-world="medieval"] .hero-copy>p{max-width:480px;font-size:15px;line-height:1.8;color:#cbbbca}
  body[data-world="medieval"] .hero-footnote{font-size:7px;letter-spacing:.13em;margin-top:30px}
  body[data-world="medieval"] .medieval-hero-panels{left:23px;right:23px;bottom:36px;width:auto;max-width:540px}
  body[data-world="medieval"] .medieval-hero-panels>:is(a,div){min-height:107px;padding:14px 8px}
  body[data-world="medieval"] .medieval-hero-panels strong{font-size:20px}
  body[data-world="medieval"] .medieval-hero-panels :is(small,span){display:block;font-size:7px;letter-spacing:.1em}
  body[data-world="medieval"] .medieval-hero-panels .m-panel-icon{width:28px;height:28px;margin-bottom:4px}
  body[data-world="medieval"] .home-hero:after{left:23px;right:23px;bottom:15px}
  body[data-world="medieval"] .discipline-strip{gap:14px;font-size:7px;letter-spacing:.13em;padding:19px 14px}
  body[data-world="medieval"] .discipline-strip i{font-size:12px}
  body[data-world="medieval"] .section{padding-block:62px 65px}
  body[data-world="medieval"] .section-heading{display:block;margin-bottom:29px}
  body[data-world="medieval"] .section-heading h2{font-size:38px;line-height:1.17;margin-top:14px}
  body[data-world="medieval"] .section-heading>p{max-width:420px;margin-top:18px;font-size:13px}
  body[data-world="medieval"] .service-gallery{gap:17px}
  body[data-world="medieval"] .service-tile{min-height:385px}
  body[data-world="medieval"] .m-service-art{height:238px}
  body[data-world="medieval"] .tile-copy{min-height:169px;padding:11px 17px 21px}
  body[data-world="medieval"] .tile-copy h3{font-size:23px}
  body[data-world="medieval"] .tile-copy p{font-size:11px}
  body[data-world="medieval"] .tile-header{padding:15px 15px 0;gap:10px}
  body[data-world="medieval"] .tile-header>span{font-size:7px;letter-spacing:.08em}
  body[data-world="medieval"] .tile-header>.icon{width:13px;height:13px}
  body[data-world="medieval"] .approach-section{padding:54px 0 45px}
  body[data-world="medieval"] .approach-section:before{top:20px;width:76%;height:410px;opacity:.63;background-position:66% center}
  body[data-world="medieval"] .approach-section:after{background:linear-gradient(90deg,#1a1322f0,#1a1322a3 40%,#1a132233),linear-gradient(0deg,#1a1322 0%,#1a1322 56%,#1a132280 70%,transparent 100%)}
  body[data-world="medieval"] .approach-section .section-heading{margin-bottom:35px;min-height:226px}
  body[data-world="medieval"] .approach-section .section-heading h2{font-size:38px;max-width:470px}
  body[data-world="medieval"] .approach-section .section-heading>p{max-width:310px;font-size:13px}
  body[data-world="medieval"] .approach-grid{grid-template-columns:1fr;gap:23px;padding-top:28px}
  body[data-world="medieval"] .approach-grid article{display:grid;grid-template-columns:34px 1fr;gap:8px 18px;border:0;border-bottom:1px solid #77573255;padding:0 0 22px}
  body[data-world="medieval"] .approach-grid article:last-child{border:0;padding-bottom:0}
  body[data-world="medieval"] .approach-grid article>span{grid-row:span 2;margin:2px 0 0;height:max-content;width:34px;text-align:center}
  body[data-world="medieval"] .approach-grid h3{font-size:25px;margin:0}
  body[data-world="medieval"] .approach-grid p{grid-column:2;font-size:13px;max-width:450px}
  body[data-world="medieval"] .about-band{grid-template-columns:1fr;padding-block:58px 63px;gap:0}
  body[data-world="medieval"] .about-band h2{font-size:39px;line-height:1.18;margin:18px 0 7px}
  body[data-world="medieval"] .about-band>div{padding-top:22px}
  body[data-world="medieval"] .about-band p{max-width:560px;font-size:14px}
  body[data-world="medieval"] .homepage-explainer{padding-block:59px 55px}
  body[data-world="medieval"] .homepage-explainer-heading h2{font-size:35px}
  body[data-world="medieval"] .homepage-explainer-heading>p{font-size:13px}
  body[data-world="medieval"] .closing{width:100%;padding:60px 23px 205px;min-height:470px}
  body[data-world="medieval"] .closing:before{inset:34% 0 0 14%;background-position:70% 61%}
  body[data-world="medieval"] .closing:after{background:linear-gradient(180deg,#181222 5%,#181222e8 28%,#18122288 60%,transparent 80%),linear-gradient(90deg,#181222de,transparent 60%)}
  body[data-world="medieval"] .closing h2{font-size:41px;max-width:520px;line-height:1.13;margin-top:15px}
  body[data-world="medieval"] .closing p{max-width:420px;font-size:14px}
  body[data-world="medieval"] .site-footer{width:calc(100% - 46px);padding-top:29px}
  body[data-world="medieval"] .footer-top{gap:25px}
  body[data-world="medieval"] .footer-top .brand-name{font-size:14px}
  body[data-world="medieval"] .footer-top>p{font-size:10px;max-width:42%}
  body[data-world="medieval"] .footer-top>.button{width:100%;min-height:46px}
  body[data-world="medieval"] .footer-bottom{font-size:9px;line-height:1.8}
}
@media(max-width:500px){
  body[data-world="medieval"] .service-gallery{grid-template-columns:1fr;gap:22px}
  body[data-world="medieval"] .service-tile{min-height:422px}
  body[data-world="medieval"] .m-service-art{height:290px;object-position:center 47%}
  body[data-world="medieval"] .tile-copy{min-height:142px;padding:12px 24px 27px}
  body[data-world="medieval"] .tile-copy h3{font-size:27px;max-width:340px}
  body[data-world="medieval"] .tile-copy p{font-size:12px;max-width:350px}
  body[data-world="medieval"] .tile-header{padding:18px 23px 0}
  body[data-world="medieval"] .tile-header>span{font-size:8px;letter-spacing:.11em}
  body[data-world="medieval"] .tile-header>.icon{width:16px;height:16px}
}
@media(max-width:400px){
  body[data-world="medieval"] .site-header{padding-inline:18px}
  body[data-world="medieval"] .site-header .brand-name{font-size:15px}
  body[data-world="medieval"] .brand-name small{font-size:6px}
  body[data-world="medieval"] :is(.medieval-helmet,.m-helmet){width:40px;height:44px}
  body[data-world="medieval"] .wrap{width:calc(100% - 36px)}
  body[data-world="medieval"] .home-hero{width:100%;padding:49px 18px 40px;min-height:870px}
  body[data-world="medieval"] .hero-copy h1{font-size:49px}
  body[data-world="medieval"] .hero-copy>p{font-size:14px}
  body[data-world="medieval"] .hero-copy>.eyebrow{font-size:7px;letter-spacing:.095em}
  body[data-world="medieval"] .button{font-size:11px;padding:14px 17px;gap:13px}
  body[data-world="medieval"] .actions{gap:10px}
  body[data-world="medieval"] .hero-footnote{font-size:6px;gap:10px;letter-spacing:.1em}
  body[data-world="medieval"] .medieval-hero-panels{left:18px;right:18px}
  body[data-world="medieval"] .medieval-hero-panels strong{font-size:19px}
  body[data-world="medieval"] .medieval-hero-panels :is(small,span){font-size:6px}
  body[data-world="medieval"] .discipline-strip{gap:9px;font-size:6px;letter-spacing:.1em}
  body[data-world="medieval"] .discipline-strip i{font-size:10px}
  body[data-world="medieval"] .section-heading h2,body[data-world="medieval"] .approach-section .section-heading h2{font-size:34px}
  body[data-world="medieval"] .eyebrow{font-size:8px;letter-spacing:.17em}
  body[data-world="medieval"] .about-band h2{font-size:35px}
  body[data-world="medieval"] .closing{width:100%;padding-inline:18px}
  body[data-world="medieval"] .closing h2{font-size:38px}
  body[data-world="medieval"] .site-footer{width:calc(100% - 36px)}
}
@media(prefers-reduced-motion:reduce){
  body[data-world="medieval"] .service-tile:hover,body[data-world="medieval"] .service-tile:hover .m-service-art{transform:none}
}

/* A heraldic reveal over the real wordmark. The brass rod stays in place as
   royal-blue cloth drops below the masthead, then rolls back out of sight. */
.site-header .brand{position:relative}
body[data-world="medieval"] .site-header .brand{width:190px;min-width:190px;flex:0 0 190px}
.site-header .brand-tapestry{--tapestry-drop:58px;position:absolute;z-index:8;left:1px;top:-14px;width:190px;height:76px;pointer-events:none;visibility:hidden;transition:visibility 0s .78s;filter:drop-shadow(0 3px 2px #0005)}
.site-header .tapestry-rod{position:absolute;z-index:5;top:5px;left:-9px;width:calc(100% + 18px);height:7px;border:1px solid #4d351a;background:linear-gradient(180deg,#fff0b5 0%,#ba914c 28%,#efcf83 45%,#a47835 68%,#5e401e 100%);box-shadow:0 2px 0 #0c0b14,0 3px 4px #0004;opacity:0;transform:scaleX(.85);transform-origin:center;transition:opacity .18s .6s,transform .28s .5s}
.site-header .tapestry-rod:before,.site-header .tapestry-rod:after{content:'';position:absolute;top:-3px;width:9px;height:11px;border:1px solid #513418;background:linear-gradient(135deg,#f9e3a0,#b08440 65%,#77512b);box-shadow:inset 1px 1px #fff1ba80,1px 1px 0 #08080c;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%)}
.site-header .tapestry-rod:before{left:-4px}
.site-header .tapestry-rod:after{right:-4px}
.site-header .tapestry-cloth{position:absolute;left:0;top:9px;display:grid;grid-template-columns:44px 1fr;column-gap:8px;row-gap:3px;align-content:center;align-items:center;width:100%;height:66px;padding:7px 10px 15px;text-align:center;background:linear-gradient(100deg,#71521f,#d1a751 8%,#ffdc85 45%,#a87930 91%,#6b491e);clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);transform:none;opacity:1;mask-image:linear-gradient(#000,#000);mask-position:left top;mask-repeat:no-repeat;mask-size:100% 0%;transition:mask-size .72s cubic-bezier(.64,0,.26,1);isolation:isolate}
.site-header .tapestry-cloth:before{content:'';position:absolute;inset:3px 3px 4px;z-index:-2;clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);background:repeating-linear-gradient(90deg,#fff2 0,transparent 1px,transparent 3px,#03092924 4px),repeating-linear-gradient(0deg,#f1eac410 0,#f1eac410 1px,transparent 1px,transparent 3px),linear-gradient(90deg,#15254c,#234376 20%,#1e3b68 47%,#284a7b 76%,#11234b);box-shadow:inset 6px 0 0 #080d2555,inset -6px 0 0 #080d2555}
.site-header .tapestry-cloth:after{content:'';position:absolute;inset:9px 9px 12px;z-index:-1;border-inline:1px solid #ccab665e;border-top:1px solid #d3ac5950;clip-path:polygon(0 0,100% 0,100% 83%,50% 100%,0 83%);background:linear-gradient(90deg,transparent 4%,#f3d18d0d 19%,transparent 36%,#060c252e 49%,transparent 56%,#d3b86e0a 79%,transparent 95%);pointer-events:none}
.site-header .tapestry-cloth img{display:block;grid-column:1;grid-row:1 / span 2;width:44px;height:44px;object-fit:contain;margin:0;image-rendering:pixelated;filter:drop-shadow(0 2px 0 #030717) drop-shadow(0 0 7px #ddd2ac20)}
.site-header .tapestry-cloth :is(strong,.tapestry-name){display:block;grid-column:2;grid-row:1;align-self:end;margin:0;color:#ffe2a0;font:600 15px/1.1 Georgia,'Times New Roman',serif;letter-spacing:.075em;white-space:nowrap;text-shadow:0 2px 0 #09132d}
.site-header .tapestry-cloth :is(small,.tapestry-subtitle){display:block;grid-column:2;grid-row:2;align-self:start;margin-top:0;color:#e2c488;font:550 5.5px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.2em;white-space:nowrap;text-shadow:0 1px 0 #09132d}
:is(.tapestry-open .brand-tapestry,.brand-tapestry.tapestry-open){visibility:visible;transition-delay:0s}
:is(.tapestry-open .brand-tapestry,.brand-tapestry.tapestry-open) .tapestry-rod{opacity:1;transform:scaleX(1);transition:opacity .15s,transform .25s}
:is(.tapestry-open .brand-tapestry,.brand-tapestry.tapestry-open) .tapestry-cloth{opacity:1;transform:none;mask-size:100% 100%;transition:mask-size .86s cubic-bezier(.19,.78,.28,1);transition-delay:.12s}
.site-header .tapestry-roll{position:absolute;z-index:6;top:8px;left:0;width:100%;height:8px;border:1px solid #bea264;pointer-events:none;background:linear-gradient(180deg,#e0c581 0%,#4c6590 22%,#345080 48%,#1d2c54 77%,#927641 100%);box-shadow:0 3px 3px #08091680,inset 0 1px 0 #f3dfab66;opacity:0;transform:translateY(0);border-radius:2px}
:is(.tapestry-open .brand-tapestry,.brand-tapestry.tapestry-open) .tapestry-roll{animation:tapestry-unfurl-edge .86s cubic-bezier(.19,.78,.28,1) .12s both}
@keyframes tapestry-unfurl-edge{0%{opacity:1;transform:translateY(0)}84%{opacity:1}100%{opacity:0;transform:translateY(var(--tapestry-drop))}}
.site-header .brand>:is(.brand-name,.monogram,.medieval-helmet,.m-helmet){transition:opacity .24s .45s}
.tapestry-open .site-header .brand>:is(.brand-name,.monogram,.medieval-helmet,.m-helmet),.site-header.tapestry-open .brand>:is(.brand-name,.monogram,.medieval-helmet,.m-helmet),.site-header .brand.tapestry-open>:is(.brand-name,.monogram,.medieval-helmet,.m-helmet),.site-header .brand:has(>.brand-tapestry.tapestry-open)>:is(.brand-name,.monogram,.medieval-helmet,.m-helmet){opacity:0;transition-delay:.18s}

/* The sword lives inside the first T of TECHNOLOGY, not in a floating control. */
.discipline-strip .hidden-sword-button{display:inline;position:relative;vertical-align:baseline;appearance:none;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;text-transform:inherit;box-shadow:none;cursor:pointer;transition:color .2s,text-shadow .2s}
.discipline-strip .hidden-sword-button:hover{color:#ac8644;text-shadow:0 0 7px #cba55355;transform:none}
.discipline-strip .hidden-sword-button:focus-visible{outline:1px solid currentColor;outline-offset:5px}
body[data-world="medieval"] .discipline-strip .hidden-sword-button{color:#d4b777;text-shadow:0 0 6px #cca05320}
body[data-world="medieval"] .discipline-strip .hidden-sword-button:hover{color:#ffe5a4;text-shadow:0 0 9px #f6c96d70}
.discipline-strip .hidden-sword-button:active{transform:none}
@media(max-width:760px){
  body[data-world="medieval"] .site-header .brand{width:168px;min-width:168px;flex-basis:168px}
  .site-header .brand-tapestry{--tapestry-drop:49px;left:0;top:-12px;width:168px;height:67px}
  .site-header .tapestry-cloth{height:57px;padding:6px 9px 13px;grid-template-columns:36px 1fr;column-gap:6px}
  .site-header .tapestry-cloth img{width:36px;height:36px;margin:0}
  .site-header .tapestry-cloth :is(strong,.tapestry-name){font-size:13px;letter-spacing:.065em}
  .site-header .tapestry-cloth :is(small,.tapestry-subtitle){font-size:5px;letter-spacing:.12em;margin-top:0}
  .site-header .tapestry-rod{height:6px;left:-7px;width:calc(100% + 14px)}
  .site-header .tapestry-rod:before,.site-header .tapestry-rod:after{width:7px;height:10px}
}
@media(prefers-reduced-motion:reduce){
  .site-header .brand-tapestry,.site-header .tapestry-cloth,.site-header .tapestry-rod{transition:none}
  .site-header .tapestry-roll{display:none;animation:none}
}

/* Replace every layer of the original cobalt ticket controls. Their masks,
   arrow medallions and label rules must not carry into the guild's buttons. */
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta){
  position:relative;isolation:isolate;display:inline-flex;align-items:center;
  justify-content:center;overflow:visible;min-height:50px;gap:18px;
  padding:10px 12px 10px 21px;border:1px solid #d3ad61;border-radius:0;
  background:linear-gradient(180deg,#edd191 0%,#d3ae68 49%,#c59b51 100%);
  color:#24192a;box-shadow:inset 0 1px 0 #ffecb8,inset 0 -2px 0 #9c7138,0 3px 0 #5f402a;
  font-size:12px;font-weight:650;line-height:1.35;letter-spacing:.015em;
  filter:none;transform:none;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta)::before{
  content:'';position:absolute;inset:3px;z-index:0;pointer-events:none;
  border:1px solid #fff0b657;border-radius:0;background:none;box-shadow:none;
  clip-path:none;mask:none;-webkit-mask:none;filter:none;transition:border-color .2s;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta)::after{
  content:none;inset:auto;width:auto;height:auto;background:none;mask:none;clip-path:none;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta) .button-label{
  padding:0;border:0;color:inherit;line-height:1.35;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta) .button-arrow{
  width:31px;height:26px;min-width:31px;flex:0 0 31px;
  margin:0;padding-left:10px;border:0;border-left:1px solid #63442255;border-radius:0;
  background:none;color:#402b26;box-shadow:none;filter:none;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta) .button-arrow>.icon{
  width:16px;height:16px;stroke-width:1.8;transform:none;transition:transform .2s;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):hover{
  color:#201522;border-color:#f6d58a;background:linear-gradient(180deg,#ffe5a8,#dfbc77 55%,#d3ac64);
  box-shadow:inset 0 1px 0 #fff3ce,inset 0 -2px 0 #a47c43,0 3px 0 #68472d,0 6px 18px #0003;
  filter:none;transform:translateY(-1px);
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):hover::before{
  filter:none;border-color:#fff0b68c;
}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):hover .button-arrow>.icon{transform:translateX(2px)}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):active{
  transform:translateY(2px);filter:none;box-shadow:inset 0 1px 0 #ffebbc,0 1px 0 #69442c;
}
body.theme-main[data-world="medieval"] .button.secondary{
  border-color:#947342;background:#1a1325b3;color:#ebd4a3;box-shadow:inset 0 0 0 1px #b38b4512,0 3px 0 #08070e;
  font-weight:500;backdrop-filter:blur(6px);
}
body.theme-main[data-world="medieval"] .button.secondary::before{border-color:#ae814627}
body.theme-main[data-world="medieval"] .button.secondary .button-arrow{border-left-color:#ac81474a;color:#d5ac64}
body.theme-main[data-world="medieval"] .button.secondary:hover{
  color:#ffe1a2;border-color:#dbb573;background:#2b2038cc;box-shadow:inset 0 0 0 1px #c99b4b22,0 3px 0 #08070e;
}
body.theme-main[data-world="medieval"] .button.secondary:hover .button-label{border:0}
body.theme-main[data-world="medieval"] .site-header .nav-cta{
  min-height:43px;padding:8px 9px 8px 17px!important;gap:15px;font-size:11px;
}
body.theme-main[data-world="medieval"] .site-header .nav-cta .button-arrow{width:26px;min-width:26px;flex-basis:26px;height:24px;padding-left:8px}
body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):focus-visible{outline:2px solid #f2ce84;outline-offset:5px}
body.theme-main[data-world="medieval"] .menu-toggle{
  background:#21182d;color:#e5c682;border:1px solid #896538;border-radius:0;box-shadow:inset 0 0 0 2px #d5ac5720,0 2px 0 #08070e;
}
body.theme-main[data-world="medieval"] .services-toggle{border-radius:0}
body.theme-main[data-world="medieval"] .services-toggle:hover{background:#d7a95914}
body[data-world="medieval"] .tile-copy h3{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
@media(max-width:760px){
  body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta){min-height:48px;font-size:12px;gap:14px;padding:10px 11px 10px 18px}
  body.theme-main[data-world="medieval"] .site-header .nav-cta{justify-content:space-between;min-height:46px;font-size:13px;padding:10px 13px 10px 18px!important}
  body.theme-main[data-world="medieval"] .footer-top>.button.secondary{width:100%}
  body[data-world="medieval"] .tile-copy h3{font-size:clamp(22px,3.6vw,26px)}
}
@media(max-width:500px){
  body[data-world="medieval"] .tile-copy h3{font-size:27px}
}
@media(max-width:400px){
  body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta){font-size:11px;gap:10px;padding-left:15px}
  body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta) .button-arrow{width:28px;min-width:28px;flex-basis:28px;padding-left:8px}
  body[data-world="medieval"] .tile-copy h3{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):hover{transform:none}
  body.theme-main[data-world="medieval"] :is(.button,.site-header .nav-cta):hover .button-arrow>.icon{transform:none}
}
