
/* Portfolio only: shared approved header and footer remain untouched */
.portfolio-main{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 83% 8%,#58301b88,transparent 38%),radial-gradient(ellipse at 4% 66%,#4a251a70,transparent 50%),#110b09;color:#fff5e7;min-height:690px}
.portfolio-atmosphere{position:absolute;inset:0 0 auto;height:430px;z-index:-1;pointer-events:none;background:radial-gradient(circle at 70% 28%,#f3a45444 0 2px,transparent 7px),radial-gradient(circle at 83% 34%,#ffcf8450 0 3px,transparent 10px),radial-gradient(circle at 45% 46%,#ffb15e42 0 2px,transparent 10px),linear-gradient(105deg,#120b09e8,#20120c99 52%,#2b160ec2)}
.portfolio-intro{padding-top:34px;padding-bottom:24px;position:relative}
.portfolio-kicker{display:flex;align-items:center;gap:12px;letter-spacing:.16em;color:#f8d48f;font-size:15px;margin:0 0 6px}.portfolio-kicker span{width:95px;height:1px;background:linear-gradient(90deg,#f2b960,transparent)}
.portfolio-intro h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(44px,5.5vw,84px);line-height:1.07;letter-spacing:-.03em;margin:0;background:linear-gradient(100deg,#ffcc7b,#fff 40%,#f4c579 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-intro h1 em{font-style:normal}
.portfolio-description{max-width:740px;font-size:clamp(15px,1.3vw,19px);line-height:1.45;margin:12px 0 0;color:#f6e9df}
.portfolio-section{width:min(1500px,calc(100% - 44px));margin:0 auto 12px}.portfolio-grid{display:flex;gap:5px;min-height:490px;align-items:stretch}
.project{min-width:0;flex:1 1 0;position:relative;overflow:hidden;border:1px solid #a47744;border-radius:11px;background:#1d130e;transition:flex .5s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .3s;isolation:isolate}
.project::before{content:'';position:absolute;inset:0;background-image:linear-gradient(180deg,#140b0b8c 0%,#120d0b55 40%,#120c0b20 80%,#120c0baa 100%),var(--project-image);background-size:cover;background-position:center;transform:scale(1.025);transition:transform .6s;z-index:-1}.project:hover::before,.project:focus-within::before{transform:scale(1.07)}.project.is-active{flex:1.36 1 0;border-color:#ffe1a0;box-shadow:0 0 0 1px #fff0bb,0 0 17px #f7a848a3}
.project-trigger{width:100%;min-height:490px;border:0;background:none;color:#fff;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:19px 15px;cursor:pointer;font:inherit}.project-trigger:focus-visible{outline:3px solid #ffdc98;outline-offset:-5px}.project-no{display:flex;align-items:center;gap:10px;width:100%;font-size:22px;color:#ffdc98;font-weight:600}.project-no .rule{flex:1;height:1px;background:linear-gradient(90deg,#ffe1a4,transparent)}.project-icon{width:52px;height:52px;border:1px solid #f9cc83;border-radius:50%;display:grid;place-items:center;font-size:28px;margin:12px 0 7px;color:#ffdc98;background:#120b0b7a}.project-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(17px,1.65vw,25px);line-height:1.12;font-weight:700;text-wrap:balance}.project-subtitle{font-size:clamp(11px,.9vw,14px);line-height:1.45;color:#fff2e5;margin-top:6px}.project-arrow{margin:auto auto 0;align-self:center;width:44px;height:44px;border:1px solid #f9cc83;border-radius:50%;display:grid;place-items:center;background:#160c08b3;font-size:23px;color:#ffe4b3}.project-detail{padding:0 15px 17px;font-size:12px;background:linear-gradient(0deg,#170b08dd,#170b0899);color:#fff1e1}.project-detail[hidden]{display:none}.project-detail p{margin:0 0 8px}.project-detail a{color:#ffd18a;text-decoration:underline;text-underline-offset:3px}.portfolio-wave{height:75px;filter:drop-shadow(0 0 10px #f6a855);pointer-events:none}.portfolio-wave svg{width:100%;height:100%}
@media(max-width:1150px){.portfolio-grid{flex-wrap:wrap;min-height:0;gap:12px}.project,.project.is-active{flex:1 1 calc(25% - 12px);min-width:180px}.project-trigger{min-height:350px}.project-title{font-size:22px}}
@media(max-width:650px){.portfolio-intro{padding-top:34px}.portfolio-section{width:calc(100% - 28px)}.portfolio-grid{gap:10px}.project,.project.is-active{flex:1 1 calc(50% - 10px);min-width:140px}.project-trigger{min-height:300px;padding:13px 11px}.project-no{font-size:17px}.project-icon{width:41px;height:41px;font-size:22px}.project-title{font-size:19px}.project-subtitle{font-size:12px}.project-arrow{width:36px;height:36px;font-size:18px}.portfolio-description{font-size:15px}}
@media(max-width:370px){.project,.project.is-active{flex-basis:100%}.project-trigger{min-height:290px}}
@media(prefers-reduced-motion:reduce){.project,.project::before{transition:none}}


/* Final approved Portfolio decoration — one semantic footer, Home footer row unchanged. */
.rt-portfolio-page .rt-sf.rt-sf-approved{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  padding-top:clamp(190px,23vw,340px)!important;
  background:#160d0b!important;
}
.rt-portfolio-page .rt-portfolio-cinematic-art{
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  right:0;
  height:clamp(190px,23vw,340px);
  background:#160d0b url('assets/portfolio-approved-cinematic-art.webp') center bottom/cover no-repeat;
  pointer-events:none;
}
.rt-portfolio-page .rt-sf.rt-sf-approved > :not(.rt-portfolio-cinematic-art){
  position:relative;
  z-index:1;
}
.rt-portfolio-page .rt-sf.rt-sf-approved::before,
.rt-portfolio-page .rt-sf.rt-sf-approved::after{content:none!important;display:none!important}
.rt-portfolio-page .rt-sf.rt-sf-approved{column-gap:20px!important}
@media(max-width:800px){
 .rt-portfolio-page .rt-sf.rt-sf-approved{padding-top:clamp(165px,28vw,230px)!important}
 .rt-portfolio-page .rt-portfolio-cinematic-art{height:clamp(165px,28vw,230px);background-size:cover}
}
