/* Projects: a centred editorial portfolio in Medea's existing ivory, graphite and gold. */
.f-fan-card{text-decoration:none;display:block}
.p-portfolio-link{display:flex;justify-content:center;margin:14px auto 0}
.p-portfolio-link .button{min-width:260px;text-decoration:none;font-size:14px;gap:24px}
body.projects-page{background:#faf7f0;color:#19272a;overflow-x:clip}
.projects-page .header.m-header{border-bottom:1px solid #d8c8aa55;height:82px}
.projects-page .header nav a[aria-current=page]{color:#94713a}
.projects-page .header .m-header-chat{border:0;cursor:pointer}
.projects-page .header .brand{text-decoration:none}
.p-page{width:100%;overflow:hidden}
.p-container{width:calc(100% - 2*var(--gutter,28px));max-width:1200px;margin-inline:auto}
.p-kicker{font-size:10px;font-weight:600;letter-spacing:.22em;line-height:1.5;text-transform:uppercase;color:#9c7a43}
.p-index-intro,.p-case-intro{text-align:center;padding-top:74px}
.p-index-intro h1,.p-case-intro h1{font-size:clamp(52px,7.3vw,102px);font-weight:750;line-height:1.01;letter-spacing:-.065em;margin:19px 0 22px;color:#19272a}
.p-lead{max-width:740px;margin:0 auto;font-size:clamp(18px,2vw,25px);font-weight:400;line-height:1.4;color:#6c7069;letter-spacing:-.02em}
.p-index-stats{display:flex;justify-content:center;gap:70px;max-width:800px;margin:39px auto 0;padding:26px 0;border-block:1px solid #d7c5a4}
.p-index-stats>span{display:flex;align-items:baseline;gap:12px;font-size:12px;color:#8d7957;line-height:1.2}
.p-index-stats b{font-size:39px;color:#a3824a;font-weight:600;letter-spacing:-.05em}
.p-catalog{padding-top:39px;padding-bottom:70px}
.p-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;max-width:100%;margin:auto}
.p-filters button{font:inherit;font-size:13px;border:1px solid #d7c4a1;background:#fffaf2;color:#7f6b48;border-radius:30px;padding:12px 19px;cursor:pointer;transition:background .25s,color .25s,translate .25s;min-height:44px}
.p-filters button[aria-pressed=true]{background:#a68448;color:#fffdf7;border-color:#a68448;box-shadow:inset 0 1px #fff3}
.p-filters button:hover{translate:0 -2px}
.p-filters button:focus-visible,.p-card:focus-visible,.p-gallery-item button:focus-visible,.p-video button:focus-visible{outline:2px solid #a27b3c;outline-offset:5px}
.p-results{font-size:11px;text-align:center;color:#909285;margin:23px 0 28px;letter-spacing:.035em}
.p-results b{font-weight:600;color:#9c7a43;margin-left:4px}
.p-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 26px}
.p-card{display:block;color:inherit;text-decoration:none;min-width:0}
.p-card[hidden]{display:none}
.p-card-image{position:relative;aspect-ratio:16/10;background:#e9e2d4;border:1px solid #d7c5a3;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px #715a2a11}
.p-card-image:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 7px #fff2;pointer-events:none}
.p-card-image>img{height:100%;width:100%;object-fit:cover;transition:scale .8s cubic-bezier(.18,.75,.23,1)}
.p-card:hover .p-card-image>img{scale:1.035}
.p-card-arrow{position:absolute;right:17px;bottom:17px;border:1px solid #ffffff80;background:#fffdf0ed;color:#9c7a43;height:41px;width:41px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:rotate .35s,background .35s}
.p-card:hover .p-card-arrow{rotate:45deg;background:#fffdf7}
.p-card-number{position:absolute;top:17px;left:18px;font-size:11px;letter-spacing:.12em;color:#fff;background:#1b282bcc;padding:7px 9px;border:1px solid #ffffff40;border-radius:4px}
.p-card-copy{text-align:center;padding:23px 18px 0}
.p-card-copy h2{font-size:31px;line-height:1.12;font-weight:650;letter-spacing:-.05em;margin:0 0 10px}
.p-card-copy>p{font-size:16px;line-height:1.4;color:#74796f;max-width:440px;margin:auto}
.p-card-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 16px;margin-top:15px;font-size:10px;color:#a17e42;letter-spacing:.04em}
.p-card-tags>span+span{position:relative}
.p-card-tags>span+span:before{content:'·';position:absolute;left:-10px;top:0;color:#a17e42}
.p-card-identity .p-card-image{background:linear-gradient(125deg,#f1e4c8,#fffbef);display:grid;place-items:center}
.p-card-identity .p-card-image>img{object-fit:contain;max-width:62%;max-height:60%;height:auto;width:auto;mix-blend-mode:multiply}
.p-card-identity .p-card-number{background:#b6985c;color:white}
.p-empty{text-align:center;padding:70px 0;color:#8b7753}
/* A case starts with its name and one large, uncropped image. */
.p-case-intro{padding-top:29px}
.p-breadcrumbs{display:flex;justify-content:center;align-items:center;gap:10px;font-size:11px;flex-wrap:wrap;color:#989484;margin-bottom:43px;line-height:1.4}
.p-breadcrumbs a{color:#8e754b;text-decoration:none}
.p-breadcrumbs a:hover{text-decoration:underline}
.p-case-intro .p-kicker{font-size:9px;max-width:90%;margin:auto}
.p-case-intro h1{font-size:clamp(49px,6.7vw,92px);margin-top:20px}
.p-case-intro .p-lead{max-width:860px;font-size:clamp(19px,2vw,26px)}
.p-case-disciplines{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:25px 0 35px}
.p-case-disciplines>span{border:1px solid #d8c39e;background:#fffaf1;padding:8px 13px;border-radius:20px;font-size:11px;color:#987a43;line-height:1.3}
.p-case-hero{max-width:1100px;padding:0;position:relative;border:1px solid #d8c39e;border-radius:12px;overflow:hidden;background:#e8e1d3;box-shadow:0 12px 35px #65502e12}
.p-case-hero>img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}
.p-identity-hero{min-height:390px;display:grid;place-items:center;background:linear-gradient(135deg,#f0e1c0,#fffbf0);padding:65px}
.p-identity-hero>img{width:auto;height:auto;max-height:330px;max-width:64%;mix-blend-mode:multiply}
.p-case-summary{text-align:center;padding:65px 20px 62px;max-width:1000px}
.p-case-summary h2{font-size:clamp(27px,3.1vw,40px);line-height:1.2;font-weight:550;letter-spacing:-.045em;margin:17px auto 22px;max-width:930px}
.p-case-summary>p{font-size:17px;line-height:1.6;color:#7b7e74;max-width:780px;margin:auto}
.p-deliverables{display:flex;justify-content:center;gap:65px;margin-top:33px;padding-top:25px;border-top:1px solid #d8c6a4}
.p-deliverables>span{display:flex;align-items:baseline;gap:12px;line-height:1.3;font-size:11px;color:#987f52}
.p-deliverables b{font-size:32px;font-weight:550;letter-spacing:-.04em}
/* No source image gets distorted or text cropped inside a case. */
.p-gallery-section{padding-top:35px;padding-bottom:35px;max-width:1100px}
.p-gallery-heading{display:flex;justify-content:center;align-items:baseline;gap:15px;text-align:center;margin-bottom:26px}
.p-gallery-heading h2{font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.045em;margin:0}
.p-gallery-heading>span{font-size:12px;color:#b39457}
.p-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;align-items:start}
.p-gallery-item{margin:0;min-width:0}
.p-gallery-item>button{position:relative;display:block;border:1px solid #dbcaab;border-radius:8px;background:#eee6d7;overflow:hidden;padding:0;width:100%;cursor:zoom-in}
.p-gallery-item>button>img{display:block;width:100%;height:auto;object-fit:contain;transition:scale .6s}
.p-gallery-item>button:hover>img{scale:1.015}
.p-gallery-open{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;height:32px;width:32px;border-radius:50%;background:#fff9e9ea;border:1px solid #d5bd88;color:#98743a;font-size:19px;opacity:0;translate:0 7px;transition:.3s}
.p-gallery-item>button:hover .p-gallery-open,.p-gallery-item>button:focus-visible .p-gallery-open{opacity:1;translate:0 0}
.p-gallery-item figcaption{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:10px;font-size:10px;color:#8d816a;line-height:1.4;padding:0 3px}
.p-gallery-item figcaption small{font-size:9px;flex-shrink:0}
.p-gallery-wide{grid-column:1/-1}
.p-gallery-brand{grid-column:1/-1}
.p-gallery-brand>button{min-height:280px;display:grid;place-items:center;background:linear-gradient(125deg,#ecdfc3,#fffaec);padding:40px}
.p-gallery-brand>button>img{width:auto;height:auto;max-width:60%;max-height:220px;mix-blend-mode:multiply}
.p-gallery-plan>button{background:#fff}
.p-gallery-poster>button{background:#f9f3e6}
.p-gallery-poster>button>img{aspect-ratio:auto}
.p-video-section{padding:35px 0 55px;max-width:1100px}
.p-video-intro{text-align:center;margin:-10px 0 27px;color:#827c6c;font-size:15px;line-height:1.4}
.p-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.p-video{aspect-ratio:16/9;background:#16262a;border:1px solid #b99c65;border-radius:9px;overflow:hidden;box-shadow:0 7px 20px #55432614}
.p-video>button{height:100%;width:100%;position:relative;border:0;padding:0;background:#16262a;cursor:pointer;color:white}
.p-video>button>img{height:100%;width:100%;object-fit:cover;opacity:.85;transition:scale .7s,opacity .4s}
.p-video>button:hover>img{scale:1.04;opacity:1}
.p-video>iframe{height:100%;width:100%;border:0;display:block}
.p-play{position:absolute;left:50%;top:50%;translate:-50% -50%;height:58px;width:58px;border:1px solid #e3cca3;background:#a68448d9;border-radius:50%;display:grid;place-items:center;padding-left:3px;font-size:18px;box-shadow:0 8px 25px #0003}
.p-video-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 20px 17px;background:linear-gradient(transparent,#15282be6);font-size:12px;text-align:left}
.p-video-caption b{float:right;color:#e7c88f;font-weight:400}
.p-next{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d6c5a6;border-bottom:1px solid #d6c5a6;padding:27px 0;margin-top:35px;margin-bottom:65px;max-width:1100px}
.p-back-link{font-size:13px;color:#93743e;text-decoration:none}
.p-next-project{position:relative;padding-right:50px;display:flex;flex-direction:column;gap:6px;text-align:right;text-decoration:none;color:#233034}
.p-next-project small{color:#a08450;font-size:10px;letter-spacing:.06em}
.p-next-project b{font-size:27px;font-weight:550;line-height:1.1;letter-spacing:-.04em}
.p-next-project>span{position:absolute;right:0;top:50%;translate:0 -50%;font-size:30px;color:#a78649}
.p-contact{text-align:center;background:#eee1c7;border-top:1px solid #d9c4a0;border-bottom:1px solid #d9c4a0;padding:50px 24px 45px}
.p-contact-mark{height:44px;width:44px;margin:0 auto 18px;color:#a68449}
.p-contact-mark svg{height:100%;width:100%;stroke:currentColor;fill:none;stroke-width:1.4}
.p-contact h2{font-size:clamp(31px,3.8vw,49px);line-height:1.05;letter-spacing:-.055em;font-weight:650;margin:0 auto 15px;max-width:800px}
.p-contact>p{font-size:17px;line-height:1.45;color:#847557;max-width:670px;margin:0 auto 25px}
.p-contact>.button{min-width:250px;font-size:14px;padding:15px 22px;gap:28px}
.p-contact-direct{display:flex;justify-content:center;gap:28px;margin-top:23px;font-size:12px;color:#947c4e}
.p-contact-direct a{text-decoration:none}
.p-contact-direct a:hover{text-decoration:underline}
.p-footer{max-width:1200px;margin:auto;padding:35px var(--gutter,28px);display:flex;justify-content:space-between;align-items:center;gap:25px}
.p-footer .brand{font-size:11px;gap:10px;letter-spacing:.18em;text-decoration:none}
.p-footer .brand svg{height:32px;width:32px;fill:none;stroke:#a68449;stroke-width:1.4}
.p-footer>div>span{display:block;font-size:9px;color:#9b978a;margin:8px 0 0 42px}
.p-footer>nav{display:flex;gap:24px;font-size:12px;color:#8f7e5d}
.p-footer>nav>a{text-decoration:none}
.p-footer>small{font-size:9px;color:#9b978a}
/* Local image-only lightbox; external video loads only after its play button is pressed. */
dialog.p-lightbox{inset:0;max-width:100vw;max-height:100svh;height:100svh;width:100vw;margin:0;padding:60px 90px;border:0;border-radius:0;background:#122327f7;color:#fffaec;overflow:hidden}
.p-lightbox::backdrop{background:#102024e8}
.p-lightbox[open]{display:grid;place-items:center}
.p-lightbox>figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:13px;margin:0;width:100%;height:100%;min-height:0}
.p-lightbox>figure>img{max-height:100%;height:100%;width:100%;object-fit:contain;min-height:0}
.p-lightbox>figure>figcaption{font-size:13px;color:#dbc18d;text-align:center}
.p-lightbox-close,.p-lightbox-prev,.p-lightbox-next{position:absolute;background:transparent;border:1px solid #d4bd8680;color:#f3dfb8;cursor:pointer;border-radius:50%;height:40px;width:40px;display:grid;place-items:center;font-size:20px;padding:0}
.p-lightbox-close{top:20px;right:24px;font-size:29px;border:none}
.p-lightbox-prev{left:22px;top:50%;translate:0 -50%}.p-lightbox-next{right:22px;top:50%;translate:0 -50%}
.p-lightbox-prev[hidden],.p-lightbox-next[hidden]{display:none}
.p-lightbox-count{position:absolute;left:24px;top:29px;color:#d7c6a0;font-size:11px;letter-spacing:.12em}
.p-lightbox button:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:1000px){.p-index-stats{gap:35px}.p-index-stats b{font-size:33px}.p-index-stats>span{font-size:11px;gap:8px}.p-card-copy h2{font-size:28px}.p-card-copy>p{font-size:15px}.p-project-grid{gap:40px 20px}.p-footer{flex-wrap:wrap}.p-footer>small{width:100%;text-align:center}.p-case-intro h1{font-size:66px}}
@media(max-width:760px){
 .projects-page .header.m-header{height:66px}
 .p-container{width:calc(100% - 40px)}
 .p-index-intro{padding-top:44px}.p-index-intro h1{font-size:54px;margin:18px 0 19px}.p-kicker{font-size:9px}.p-lead{font-size:18px;line-height:1.4}
 .p-index-stats{gap:10px;justify-content:space-between;margin-top:28px;padding:22px 0}.p-index-stats>span{flex-direction:column;align-items:center;text-align:center;flex:1;font-size:10px;gap:7px}.p-index-stats b{font-size:32px}
 .p-catalog{padding-top:26px;padding-bottom:40px}.p-filters{gap:7px}.p-filters button{font-size:11px;padding:10px 13px;min-height:39px}.p-results{font-size:10px;margin:21px 0 23px}
 .p-project-grid{grid-template-columns:1fr;gap:35px}.p-card-image{border-radius:9px;aspect-ratio:16/10}.p-card-copy{padding:18px 6px 0}.p-card-copy h2{font-size:29px}.p-card-copy>p{font-size:15px}.p-card-tags{font-size:10px;line-height:1.4;gap:6px 16px}.p-card-arrow{height:35px;width:35px;font-size:20px;bottom:12px;right:12px}.p-card-number{top:12px;left:12px;font-size:9px}
 .p-case-intro{padding-top:23px}.p-breadcrumbs{font-size:10px;gap:7px;margin-bottom:29px}.p-case-intro .p-kicker{font-size:8px;letter-spacing:.12em}.p-case-intro h1{font-size:47px;line-height:1.02;overflow-wrap:anywhere;margin:17px 0}.p-case-intro .p-lead{font-size:19px;line-height:1.3}.p-case-disciplines{gap:6px;margin:23px 0 27px}.p-case-disciplines>span{font-size:10px;padding:7px 11px}
 .p-case-hero{width:calc(100% - 28px);border-radius:8px}.p-identity-hero{min-height:240px;padding:35px 22px}.p-identity-hero>img{max-width:83%;max-height:210px}
 .p-case-summary{padding:37px 0 25px}.p-case-summary h2{font-size:28px;line-height:1.15;margin:15px auto 18px}.p-case-summary>p{font-size:15px;line-height:1.55}.p-deliverables{gap:18px;justify-content:space-evenly;align-items:start;margin-top:26px;padding-top:21px}.p-deliverables>span{flex-direction:column;align-items:center;gap:7px;text-align:center;font-size:10px;max-width:115px}.p-deliverables b{font-size:30px}
 .p-gallery-section{padding-top:28px;padding-bottom:13px}.p-gallery-heading{gap:11px;margin-bottom:21px}.p-gallery-heading h2{font-size:28px}.p-gallery-heading>span{font-size:11px}.p-gallery-grid{grid-template-columns:1fr;gap:24px}.p-gallery-wide,.p-gallery-brand{grid-column:auto}.p-gallery-item figcaption{font-size:9px;line-height:1.4;gap:12px}.p-gallery-item figcaption small{font-size:8px}.p-gallery-open{opacity:1;translate:0 0;height:28px;width:28px;right:9px;bottom:9px;font-size:17px}.p-gallery-brand>button{min-height:200px;padding:30px}.p-gallery-brand>button>img{max-width:80%;max-height:180px}
 .p-video-section{padding-top:30px;padding-bottom:20px}.p-video-grid{grid-template-columns:1fr;gap:17px}.p-video-intro{font-size:14px;margin-top:-5px}.p-play{height:48px;width:48px;font-size:16px}.p-video-caption{font-size:10px;padding:25px 14px 14px}
 .p-next{gap:20px;margin-block:32px 39px;padding:21px 0}.p-back-link{font-size:11px;max-width:90px;flex-shrink:0}.p-next-project{padding-right:30px;max-width:70%}.p-next-project small{font-size:9px}.p-next-project b{font-size:22px;overflow-wrap:anywhere}.p-next-project>span{font-size:25px}
 .p-contact{padding:35px 20px}.p-contact h2{font-size:35px;line-height:1.06}.p-contact>p{font-size:15px}.p-contact-mark{height:37px;width:37px;margin-bottom:16px}.p-contact-direct{font-size:11px;gap:19px;flex-wrap:wrap}.p-contact>.button{font-size:13px;min-width:240px}
 .p-footer{padding:29px 20px;display:flex;flex-direction:column;gap:23px}.p-footer>div>span{margin-left:0;text-align:center}.p-footer .brand{font-size:10px}.p-footer>nav{gap:25px;font-size:12px}
 dialog.p-lightbox{padding:65px 12px 88px}.p-lightbox-prev{left:calc(50% - 62px);top:auto;bottom:23px;translate:0 0}.p-lightbox-next{right:calc(50% - 62px);top:auto;bottom:23px;translate:0 0}.p-lightbox-count{left:18px;top:28px}.p-lightbox-close{right:12px;top:16px}.p-lightbox>figure>figcaption{font-size:12px}
}

.p-case-hero>button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.p-case-hero>button>img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}
.p-identity-hero>button{display:grid;place-items:center;min-height:260px}
.p-identity-hero>button>img{width:auto;height:auto;max-width:64%;max-height:330px;mix-blend-mode:multiply}
.p-case-hero>button:focus-visible{outline:3px solid #aa874c;outline-offset:-5px}
@media(max-width:760px){.p-identity-hero>button{min-height:170px}.p-identity-hero>button>img{max-width:83%;max-height:210px}}
/* Original white/gold identity artwork needs graphite for adequate contrast. */
.p-card-identity .p-card-image,.p-identity-hero,.p-gallery-brand>button{background:#192b2f;border-color:#b3975c}
.p-card-identity .p-card-image>img,.p-identity-hero>button>img,.p-gallery-brand>button>img{mix-blend-mode:normal}
.p-preview-project-link{display:flex;justify-content:center;max-width:270px;margin:20px auto 0;font-size:13px;text-decoration:none}
