/* TehranWeb Portfolio Page v1.3.0 — Hero + services + projects + featured case + clients */
html:has(body.twpf-portfolio-page){background:#001722}
body.twpf-portfolio-page{background:#001722!important;margin:0;overflow-x:clip}
body.twpf-portfolio-page .twpf-page-main{
  display:block!important;position:relative!important;width:100%!important;max-width:none!important;
  min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;
  border:0!important;background:#001722!important;clear:both;isolation:isolate;
}
body.twpf-portfolio-page .twpf-page-main>.twpf-hero,
body.twpf-portfolio-page .twpf-page-main>.twpf-services,
body.twpf-portfolio-page .twpf-page-main>.twpf-projects{
  width:100%!important;max-width:none!important;margin:0!important;border:0!important;
}
body.twpf-portfolio-page .twpf-page-extra{background:#001722;color:#f5fafb;min-width:0}
body.twpf-portfolio-page a.skip-link:not(:focus):not(:focus-visible),
body.twpf-portfolio-page a.screen-reader-text.skip-link:not(:focus):not(:focus-visible){
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;
}
body.twpf-portfolio-page :is(h1.entry-title,h1.page-title,h1.wp-block-post-title,.elementor-page-title){display:none!important}
body.twpf-portfolio-page :is(.entry-content,.wp-block-post-content)>.twpf-hero{margin-block-start:0!important}
.twpf{box-sizing:border-box}
.twpf *, .twpf *::before,.twpf *::after{box-sizing:border-box}

/* =============================== HERO =============================== */
.twpf-hero{
  --twpf-navy:#001923;--twpf-night:#001722;--twpf-gold:#f6c449;--twpf-cyan:#00d7e7;--twpf-white:#f5fafb;
  direction:rtl;position:relative;isolation:isolate;color:var(--twpf-white);font-family:inherit;
  width:100%!important;max-width:none!important;min-height:clamp(340px,33.25vw,548px);
  margin-left:0!important;margin-right:0!important;
  margin-block:0!important;padding:0!important;overflow:hidden;
  background:radial-gradient(ellipse 43% 60% at 98% 0%,rgba(0,95,115,.27),transparent 82%),
    linear-gradient(90deg,#001522 0%,#001a26 66%,#001721 100%);
  text-align:right;font-size:16px;line-height:1.7;
}
.twpf-hero:before{content:"";position:absolute;inset:-135px -116px auto auto;width:292px;height:292px;border:1px solid rgba(244,189,60,.15);border-radius:50%;pointer-events:none;z-index:0;box-shadow:0 0 0 52px rgba(16,90,107,.03)}
.twpf-hero:after{content:"";position:absolute;bottom:-265px;right:-130px;width:340px;height:340px;border:1px solid rgba(244,189,60,.15);border-radius:50%;pointer-events:none;z-index:0}
.twpf-hero__halo{position:absolute;inset:auto auto -29% 12%;width:380px;height:190px;border-radius:50%;background:rgba(0,188,207,.06);filter:blur(70px);z-index:0;pointer-events:none}
.twpf-hero__media{position:absolute;z-index:0;top:0;bottom:0;left:0;width:64%;height:100%;overflow:hidden;direction:ltr;pointer-events:none;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 76%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 76%,transparent 100%)}
.twpf-hero__media picture,.twpf-hero__media img{display:block;width:100%;height:100%}
.twpf-hero__media img{object-fit:cover;object-position:50% 50%;user-select:none}
.twpf-hero--reference-visual .twpf-hero__media img{object-position:52% 51%}
.twpf-hero__media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,17,24,.18),transparent 24%)}
.twpf-hero__inner{position:relative;z-index:1;min-height:inherit;width:min(100%,1680px);margin:0 auto;padding:clamp(32px,4vw,65px) clamp(24px,5vw,98px) clamp(28px,3.4vw,58px);display:flex;align-items:center;justify-content:flex-start}
.twpf-hero__content{position:relative;z-index:1;width:48%;max-width:730px;text-align:right}
.twpf-hero__eyebrow{display:flex;align-items:center;gap:12px;color:var(--twpf-gold);font-size:clamp(12px,1vw,15px);font-weight:800;margin-bottom:clamp(10px,1.2vw,17px);letter-spacing:0}
.twpf-hero__eyebrow-line{width:31px;height:1px;background:linear-gradient(270deg,var(--twpf-gold),transparent)}
.twpf-hero__title{font-size:clamp(30px,3vw,50px)!important;line-height:1.39!important;letter-spacing:-.045em;font-weight:950!important;color:var(--twpf-white)!important;margin:0 0 clamp(12px,1.5vw,24px)!important;padding:0!important;border:0!important;text-shadow:0 2px 16px rgba(0,0,0,.15)}
.twpf-hero__title-line{display:block;white-space:normal}
.twpf-hero__title em{font-style:normal;font-weight:950}
.twpf-hero__gold{color:var(--twpf-gold)}
.twpf-hero__cyan{color:var(--twpf-cyan)}
.twpf-hero__description{font-size:clamp(12px,1.1vw,16px);font-weight:400;line-height:2.05;color:#b9d3db;max-width:580px;margin:0 0 clamp(17px,2vw,29px)!important;text-wrap:pretty}
.twpf-hero__actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.twpf-hero__button,.twpf-hero__button:hover,.twpf-hero__button:focus{display:inline-flex;gap:15px;align-items:center;justify-content:center;text-decoration:none!important;min-height:clamp(46px,3.6vw,57px);min-width:clamp(155px,13vw,200px);padding:12px 23px;border-radius:10px;font-family:inherit;font-weight:850;font-size:clamp(13px,.98vw,15px);line-height:1.2;transition:transform .19s ease,box-shadow .19s ease,border-color .19s ease;background-image:none}
.twpf-hero__button svg{flex:0 0 auto}
.twpf-hero__button--gold,.twpf-hero__button--gold:visited{color:#001e2b!important;background:linear-gradient(180deg,#ffdc65 0%,#f1b738 100%)!important;border:1px solid #f4c854;box-shadow:0 4px 16px rgba(244,173,36,.28),inset 0 1px rgba(255,255,255,.35)}
.twpf-hero__button--outline,.twpf-hero__button--outline:visited{color:#f5fafb!important;background:rgba(0,25,38,.8)!important;border:1px solid #00cde0!important;box-shadow:inset 0 0 0 1px rgba(0,229,245,.05)}
.twpf-hero__button--outline svg{color:var(--twpf-cyan)}
.twpf-hero__button:hover{transform:translateY(-2px);box-shadow:0 5px 24px rgba(0,197,216,.23)}
.twpf-hero__button:focus-visible{outline:3px solid white;outline-offset:4px}
.twpf-hero__bottom-edge{position:absolute;bottom:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(36,127,141,.45),transparent);z-index:2}

/* =============================== FILTERS =============================== */
.twpf-services{
  position:relative;background:linear-gradient(180deg,#001822 0%,#001a26 100%);padding:0 0 18px;
}
.twpf-services__shell{width:min(100%,1680px);padding:0 clamp(20px,4.5vw,74px);margin:-16px auto 0;position:relative;z-index:2}
.twpf-services__grid{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start;
  padding:18px 20px;border-radius:28px;background:rgba(4,29,41,.92);
  border:1px solid rgba(42,146,170,.35);box-shadow:0 30px 80px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04);
}
.twpf-service-pill{
  display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;padding:0 20px;border-radius:15px;border:1px solid rgba(55,151,174,.35);
  background:linear-gradient(180deg,rgba(0,31,46,.95),rgba(0,25,38,.95));color:#ebf6f9;
  font:inherit;font-size:15px;font-weight:800;line-height:1;cursor:pointer;transition:all .2s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);white-space:nowrap;
}
.twpf-service-pill:hover{transform:translateY(-2px);border-color:rgba(0,214,231,.45)}
.twpf-service-pill.is-active{
  color:#08202c;background:linear-gradient(180deg,#ffe16f 0%,#f3c34b 100%);
  border-color:#f6c449;box-shadow:0 12px 30px rgba(246,196,73,.22), inset 0 1px 0 rgba(255,255,255,.4);
}
.twpf-service-pill__icon{display:inline-flex;align-items:center;justify-content:center;color:#b1cad2}
.twpf-service-pill.is-active .twpf-service-pill__icon{color:#08202c}
.twpf-service-pill__label{display:block}

/* =============================== SECTION HEADING =============================== */
.twpf-section-eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;color:#f6c449;font-weight:800;font-size:17px;margin-bottom:14px}
.twpf-section-eyebrow__line{width:48px;height:1px;background:linear-gradient(90deg,transparent,#f6c449,transparent)}
.twpf-projects{
  position:relative;overflow:hidden;background:
  radial-gradient(circle at 0% 38%, rgba(249,190,67,.12) 0, rgba(249,190,67,.12) 1px, transparent 112px),
  radial-gradient(circle at 96% 98%, rgba(249,190,67,.10) 0, rgba(249,190,67,.10) 1px, transparent 120px),
  linear-gradient(180deg,#001a26 0%,#001722 100%);
  padding:26px 0 58px;
}
.twpf-projects__container{position:relative;width:min(100%,1680px);padding:0 clamp(20px,4.5vw,74px);margin:0 auto;z-index:1}
.twpf-projects__title{
  margin:0 0 16px;text-align:center;color:#f5fafb;font-size:clamp(31px,3vw,56px);line-height:1.35;font-weight:950;letter-spacing:-.04em
}
.twpf-projects__title em{font-style:normal;color:#00d7e7}
.twpf-projects__description{max-width:760px;margin:0 auto 28px;text-align:center;color:#b6cdd5;font-size:15px;line-height:2.05}
.twpf-projects__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.twpf-projects__empty{
  margin:24px auto 0;max-width:720px;padding:18px 22px;border-radius:18px;text-align:center;
  color:#c7dde4;background:rgba(4,29,41,.9);border:1px solid rgba(40,142,166,.35)
}
.twpf-project-card{
  position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(180deg,rgba(1,36,50,.94),rgba(0,24,36,.96));
  border:1px solid rgba(37,140,164,.42);box-shadow:0 22px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.twpf-project-card:hover{transform:translateY(-4px);border-color:rgba(0,215,231,.5);box-shadow:0 28px 58px rgba(0,0,0,.3)}
.twpf-project-card[hidden]{display:none!important}
.twpf-project-card__media{position:relative;overflow:hidden;aspect-ratio:1.56 / 1;background:linear-gradient(135deg,#0b3345,#0f2431)}
.twpf-project-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.12) 100%)}
.twpf-project-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .35s ease}
.twpf-project-card:hover .twpf-project-card__media img{transform:scale(1.04)}
.twpf-project-card__tag{
  position:absolute;top:14px;right:14px;z-index:1;display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:0 13px;border-radius:999px;background:rgba(0,180,206,.16);border:1px solid rgba(0,215,231,.4);
  color:#c8fbff;font-size:12px;font-weight:800;backdrop-filter:blur(8px)
}
.twpf-project-card__body{padding:16px 16px 16px;display:flex;flex-direction:column;min-height:188px}
.twpf-project-card__title{margin:0 0 9px;color:#fff;font-size:28px;font-size:clamp(20px,1.45vw,31px);line-height:1.34;font-weight:900;letter-spacing:-.03em}
.twpf-project-card__text{margin:0 0 18px;color:#c2d8df;font-size:14px;line-height:1.95;flex:1 1 auto}
.twpf-project-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.twpf-project-card__arrow{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(246,196,73,.8);background:rgba(10,25,35,.94);color:#f6c449;transition:all .2s ease
}
.twpf-project-card__arrow:hover{background:#f6c449;color:#08202c}
.twpf-project-card__cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(0,200,219,.45);background:linear-gradient(180deg,rgba(0,62,90,.9),rgba(0,45,65,.95));
  color:#f5fbfd;font:inherit;font-size:14px;font-weight:800;transition:all .2s ease
}
.twpf-project-card__cta:hover{border-color:#00d7e7;color:#fff;box-shadow:0 10px 24px rgba(0,180,206,.18)}

/* =============================== MODAL =============================== */
/* Native dialog top-layer escapes the portfolio sections' stacking contexts and clipping. */
body.twpf-portfolio-page .twpf-modal.twpf{
  position:fixed;inset:0;box-sizing:border-box;z-index:2147483000;
  width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;
  margin:0;padding:clamp(12px,2vw,24px);border:0;border-radius:0;
  background:rgba(0,10,17,.80);color:#f5fafb;backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;overflow-y:auto;
  overscroll-behavior:contain;direction:rtl;font-family:inherit;
}
body.twpf-portfolio-page .twpf-modal:not([open]):not(.is-open){display:none!important}
.twpf-modal::backdrop{background:rgba(0,10,17,.70);backdrop-filter:blur(5px)}
.twpf-modal__dialog{
  position:relative;z-index:1;flex:0 1 980px;width:min(100%,980px);min-width:0;
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  overflow:auto;overscroll-behavior:contain;border-radius:26px;
  background:linear-gradient(180deg,rgba(2,28,41,.98),rgba(1,23,34,.98));border:1px solid rgba(37,140,164,.42);
  box-shadow:0 32px 100px rgba(0,0,0,.45)
}
.twpf-modal__close{
  position:absolute;top:16px;left:16px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.32);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2
}
.twpf-modal__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px)}
.twpf-modal__hero{min-height:100%;background:#071721}
.twpf-modal__hero img{display:block;width:100%;height:100%;object-fit:cover}
.twpf-modal__meta{padding:32px 28px 28px;color:#f5fafb}
.twpf-modal__tag{display:inline-flex;min-height:32px;padding:0 14px;align-items:center;border-radius:999px;background:rgba(0,180,206,.14);border:1px solid rgba(0,215,231,.34);color:#c7fdff;font-size:12px;font-weight:800;margin-bottom:16px}
.twpf-modal__title{margin:0 0 14px;font-size:34px;line-height:1.35;font-weight:900;letter-spacing:-.03em;color:#fff}
.twpf-modal__wysiwyg,.twpf-modal__text{color:#c5d8e0;font-size:15px;line-height:2;margin:0 0 18px}
.twpf-modal__wysiwyg > *:first-child{margin-top:0}.twpf-modal__wysiwyg > *:last-child{margin-bottom:0}
.twpf-modal__detail-grid{display:grid;gap:12px}
.twpf-modal__detail{padding:15px 16px;border-radius:16px;background:rgba(0,34,48,.9);border:1px solid rgba(37,140,164,.35)}
.twpf-modal__detail strong{display:block;margin-bottom:8px;color:#f6c449;font-size:14px}.twpf-modal__detail p{margin:0;color:#bfd7df;font-size:14px;line-height:1.95}
html.twpf-modal-open,body.twpf-modal-open{overflow:hidden!important}

/* =============================== DECOR =============================== */
.twpf-projects__glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.55}
.twpf-projects__glow--left{width:200px;height:200px;left:-60px;top:90px;background:rgba(0,208,226,.08)}
.twpf-projects__glow--right{width:260px;height:260px;right:-80px;bottom:120px;background:rgba(246,196,73,.07)}

/* =============================== RESPONSIVE =============================== */
@media(min-width:1681px){.twpf-hero__media{width:calc(50% + 280px)}.twpf-hero__content{width:49%}}
@media(min-width:768px) and (max-width:1100px){
  .twpf-hero{min-height:clamp(365px,40vw,465px)}
  .twpf-hero__inner{padding-inline:clamp(20px,3.4vw,46px)}
  .twpf-hero__content{width:50%}
  .twpf-hero__media{width:66%}
  .twpf-hero__title{font-size:clamp(27px,3vw,36px)!important}
  .twpf-hero__actions{gap:9px}
  .twpf-hero__button{min-width:139px;padding:12px 15px}
  .twpf-services__shell,.twpf-projects__container{padding-inline:26px}
  .twpf-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .twpf-modal__content{grid-template-columns:1fr}
  .twpf-modal__hero{max-height:320px}
}
@media(max-width:767px){
  .twpf-hero{min-height:0;overflow:hidden;background:linear-gradient(180deg,#001822,#001b29)}
  .twpf-hero__inner{display:block;padding:36px 21px 27px;min-height:0}
  .twpf-hero__content{width:100%;max-width:none;text-align:right}
  .twpf-hero__eyebrow{margin-bottom:15px;font-size:13px}
  .twpf-hero__title{font-size:clamp(26px,6.9vw,40px)!important;line-height:1.45!important;letter-spacing:-.04em;margin-bottom:15px!important}
  .twpf-hero__description{font-size:13px;line-height:1.95;max-width:560px;margin-bottom:21px!important}
  .twpf-hero__actions{gap:10px}
  .twpf-hero__button{flex:1 1 135px;min-width:0;min-height:49px;padding:11px 13px;font-size:13px;gap:8px}
  .twpf-hero__media{position:relative;left:auto;top:auto;right:auto;bottom:auto;width:100%;height:clamp(235px,62vw,435px);margin-top:0;mask-image:none;-webkit-mask-image:none;border-top:1px solid rgba(39,129,150,.2)}
  .twpf-hero__media img{object-position:46% center}
  .twpf-hero--reference-visual .twpf-hero__media img{object-position:35% 50%}
  .twpf-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#001b29 0%,rgba(0,27,41,0) 22%,rgba(0,27,41,0) 75%,#001822 100%)}
  .twpf-hero:before{right:-165px;top:-130px}

  .twpf-services{padding-bottom:20px}.twpf-services__shell{padding-inline:16px;margin-top:-4px}
  .twpf-services__grid{padding:14px;border-radius:22px;gap:10px}
  .twpf-service-pill{flex:1 1 calc(50% - 5px);min-height:48px;padding:0 14px;font-size:13px;border-radius:13px}
  .twpf-projects{padding:20px 0 42px}.twpf-projects__container{padding-inline:16px}
  .twpf-section-eyebrow{font-size:14px;margin-bottom:12px}.twpf-section-eyebrow__line{width:32px}
  .twpf-projects__title{font-size:clamp(28px,8vw,38px);margin-bottom:12px}
  .twpf-projects__description{font-size:13px;line-height:1.95;margin-bottom:20px}
  .twpf-projects__grid{grid-template-columns:1fr;gap:14px}
  .twpf-project-card{border-radius:18px}.twpf-project-card__body{padding:15px 14px 14px;min-height:auto}
  .twpf-project-card__title{font-size:22px}.twpf-project-card__text{font-size:13px;line-height:1.9;margin-bottom:14px}
  .twpf-project-card__footer{gap:10px}.twpf-project-card__cta{padding-inline:16px;font-size:13px}
  .twpf-modal{padding:12px}.twpf-modal__content{grid-template-columns:1fr}.twpf-modal__hero{max-height:240px}
  .twpf-modal__meta{padding:22px 16px 18px}.twpf-modal__title{font-size:25px}.twpf-modal__wysiwyg,.twpf-modal__text{font-size:14px}
}
@media(max-width:365px){.twpf-hero__inner{padding-inline:16px}.twpf-hero__title{font-size:27px!important}.twpf-hero__actions{flex-direction:column;align-items:stretch}.twpf-hero__button{width:100%;flex:auto}.twpf-service-pill{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.twpf-hero *, .twpf-hero *::before,.twpf-hero *::after,.twpf-services *, .twpf-projects *{transition:none!important;animation:none!important}}

/* =============================== FEATURED CASE STUDY — FROZEN REFERENCE =============================== */
.twpf-case-study{
  --twpf-case-cyan:#00d7e7;--twpf-case-gold:#f6c449;
  direction:rtl;position:relative;isolation:isolate;
  background:linear-gradient(180deg,#001722 0%,#001925 100%);
  color:#f5fafb;padding:0 0 clamp(42px,4.5vw,74px);overflow:visible;
  font-family:inherit;text-align:right;
}
.twpf-case-study__container{width:min(100%,1680px);margin:0 auto;padding:0 clamp(20px,4.5vw,74px)}
.twpf-case-study__shell{
  display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  position:relative;isolation:isolate;align-items:stretch;min-height:clamp(355px,26.5vw,450px);
  overflow:hidden;border-radius:24px;
  border:1px solid rgba(41,175,192,.66);
  background:radial-gradient(ellipse 48% 70% at 0% 0%,rgba(55,107,116,.22),transparent 80%),
     linear-gradient(114deg,#042534 0%,#001c29 64%,#021f2d 100%);
  box-shadow:0 22px 60px rgba(0,6,13,.26),inset 0 1px rgba(255,255,255,.045);
}
.twpf-case-study__shell::before{content:"";position:absolute;top:-190px;left:-158px;width:350px;height:350px;border:1px solid rgba(245,193,68,.2);border-radius:50%;z-index:2;pointer-events:none}
.twpf-case-study__ornament{position:absolute;left:-110px;bottom:-135px;width:260px;height:260px;z-index:3;pointer-events:none;border:1px solid rgba(246,196,73,.12);border-radius:50%}
.twpf-case-study__visual{
  grid-column:1;grid-row:1;min-width:0;position:relative;overflow:hidden;
  background:linear-gradient(125deg,#163746,#092634 50%,#061b27);
}
.twpf-case-study__visual::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:2;
  background:linear-gradient(270deg,transparent 52%,rgba(0,26,38,.06) 67%,#001e2a 100%)}
.twpf-case-study__visual picture,.twpf-case-study__visual img{display:block;width:100%;height:100%}
.twpf-case-study__visual img{object-fit:cover;object-position:center center;user-select:none}
.twpf-case-study__content{
  grid-column:2;grid-row:1;position:relative;z-index:3;min-width:0;
  display:flex;align-items:flex-start;flex-direction:column;justify-content:center;
  padding:clamp(28px,2.8vw,48px) clamp(21px,2.7vw,44px) clamp(24px,2.8vw,48px);
}
.twpf-case-study__eyebrow{display:flex;align-items:center;align-self:center;justify-content:center;gap:13px;
  font-weight:850;color:var(--twpf-case-gold);font-size:clamp(12px,.92vw,15px);margin-bottom:11px}
.twpf-case-study__eyebrow i{display:block;flex:0 0 24px;height:1px;background:linear-gradient(90deg,transparent,#f6c449)}
.twpf-case-study__eyebrow i:last-child{transform:rotate(180deg)}
.twpf-case-study__title{
  width:100%;margin:0 0 13px!important;padding:0!important;color:#f5fafb!important;
  font-size:clamp(27px,2.35vw,42px)!important;line-height:1.35!important;letter-spacing:-.04em;
  text-align:right;font-weight:950!important;border:0!important;
}
.twpf-case-study__title em{color:var(--twpf-case-cyan);font-style:normal;font-weight:950}
.twpf-case-study__description{margin:0 0 24px!important;max-width:690px;font-size:clamp(12px,1.05vw,15px);
  line-height:2.02;color:#c8dce3;text-align:right;opacity:.98}
.twpf-case-study__features{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}
.twpf-case-study__feature{
  display:flex;flex-direction:column;gap:6px;justify-content:flex-start;align-items:center;
  min-width:0;min-height:114px;text-align:center;padding:13px 7px 12px;
  border:1px solid rgba(28,130,158,.43);border-radius:13px;
  background:linear-gradient(180deg,rgba(2,38,56,.82),rgba(1,27,40,.94));
  box-shadow:inset 0 1px rgba(255,255,255,.035)
}
.twpf-case-study__feature-icon{display:flex;align-items:center;justify-content:center;color:var(--twpf-case-gold);height:28px}
.twpf-case-study__feature strong{color:#fbfcfe;font-weight:870;line-height:1.5;font-size:clamp(10px,.78vw,13px)}
.twpf-case-study__feature small{font-size:clamp(9px,.7vw,11px);line-height:1.5;color:#9bbac7}
.twpf-case-study__button{
  align-self:flex-end;margin-inline-start:auto;
  display:inline-flex;align-items:center;justify-content:center;flex-direction:row;gap:18px;
  min-height:49px;padding:11px 22px;max-width:100%;border-radius:10px;
  border:1px solid #efbb43;background:linear-gradient(180deg,#ffda61,#edb234);
  box-shadow:0 8px 23px rgba(242,179,48,.25),inset 0 1px rgba(255,255,255,.31);
  font-family:inherit;font-size:14px;font-weight:900;color:#08202b;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.twpf-case-study__button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(242,179,48,.33)}
.twpf-case-study__button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.twpf-case-study__button svg{width:17px;height:17px}
.twpf-case-study__dialog-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.twpf-case-study__dialog-features>div{display:flex;flex-direction:column;gap:7px;padding:14px 12px;border:1px solid rgba(30,140,165,.36);border-radius:12px;background:#082635}
.twpf-case-study__dialog-features strong{font-size:13px;color:#f6c449;line-height:1.6}
.twpf-case-study__dialog-features small{font-size:12px;color:#afcad4;line-height:1.7}
.twpf-modal__content--featured{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

@media (min-width:1180px) and (max-width:1550px){
  .twpf-case-study__shell{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .twpf-case-study__content{padding-inline:clamp(20px,2.5vw,38px)}
  .twpf-case-study__description{margin-bottom:18px!important}
  .twpf-case-study__features{gap:8px;margin-bottom:17px}
  .twpf-case-study__feature{padding-inline:5px;min-height:105px}
}
@media (min-width:768px) and (max-width:1179px){
  .twpf-case-study__container{padding-inline:26px}
  .twpf-case-study__shell{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);min-height:380px}
  .twpf-case-study__content{padding:26px 20px}
  .twpf-case-study__title{font-size:clamp(25px,2.7vw,34px)!important}
  .twpf-case-study__features{gap:6px}
  .twpf-case-study__feature{padding:10px 5px;min-height:100px}
  .twpf-case-study__feature strong{font-size:10px}
  .twpf-case-study__feature small{font-size:9px}
  .twpf-case-study__description{font-size:12px;margin-bottom:16px!important}
}
@media (max-width:767px){
  .twpf-case-study{padding-bottom:42px}
  .twpf-case-study__container{padding-inline:16px}
  .twpf-case-study__shell{display:flex;flex-direction:column;min-height:0;border-radius:18px}
  .twpf-case-study__visual{order:0;aspect-ratio:1.75;min-height:0;max-height:350px;width:100%}
  .twpf-case-study__visual::after{background:linear-gradient(180deg,transparent 55%,rgba(0,30,42,.85) 100%)}
  .twpf-case-study__visual img{object-position:center 38%}
  .twpf-case-study__content{order:1;align-items:stretch;padding:21px 15px 18px}
  .twpf-case-study__eyebrow{font-size:12px;margin-bottom:12px}
  .twpf-case-study__title{font-size:clamp(24px,6.4vw,35px)!important;line-height:1.46!important;text-align:center;margin-bottom:12px!important}
  .twpf-case-study__description{font-size:12px;line-height:2;text-align:center;margin-bottom:17px!important}
  .twpf-case-study__features{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:17px}
  .twpf-case-study__feature{min-height:102px;padding:11px 8px}
  .twpf-case-study__feature strong{font-size:12px}
  .twpf-case-study__feature small{font-size:11px}
  .twpf-case-study__button{align-self:center;width:100%;min-height:48px}
  .twpf-modal__content--featured{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.twpf-case-study *{transition:none!important;animation:none!important}}

/* Accessible dialog placement across mobile / desktop and third-party themes. */
@media(max-width:767px){
  body.twpf-portfolio-page .twpf-modal.twpf{padding:12px;align-items:center}
  .twpf-modal__dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:18px}
  .twpf-modal__content--featured .twpf-modal__hero{max-height:230px;overflow:hidden}
  .twpf-modal__content--featured .twpf-modal__hero img{max-height:230px}
}
@media(max-height:620px){
  body.twpf-portfolio-page .twpf-modal.twpf{align-items:flex-start}
  .twpf-modal__dialog{margin-block:auto}
}

/* === 1.3.0 / CLIENTS — exact section order and palette from the frozen page === */
body.twpf-portfolio-page .twpf-page-main > .twpf-clients{
  width:100%!important;max-width:none!important;margin:0!important;border:0!important;
}
.twpf-clients{
  --twpf-client-cyan:#00d7e7;--twpf-client-gold:#f6c449;
  position:relative;direction:rtl;isolation:isolate;overflow:hidden;
  padding:8px 0 clamp(40px,4.1vw,64px);color:#f6fafb;
  background:radial-gradient(ellipse 50% 100% at 0% 0%,rgba(0,101,121,.13),transparent 80%),
   radial-gradient(ellipse 30% 85% at 100% 65%,rgba(29,108,120,.1),transparent 90%),
   linear-gradient(180deg,#001925 0%,#001823 100%);
  font-family:inherit;text-align:center;
}
.twpf-clients__ornament{position:absolute;pointer-events:none;z-index:0;border-radius:50%;border:1px solid rgba(244,191,64,.20)}
.twpf-clients__ornament--left{width:420px;height:420px;top:-190px;left:-240px;box-shadow:0 0 0 80px rgba(0,176,197,.018)}
.twpf-clients__ornament--right{width:350px;height:350px;right:-240px;bottom:-175px;box-shadow:0 0 0 52px rgba(0,176,197,.025)}
.twpf-clients__container{position:relative;z-index:1;width:min(100%,1680px);margin-inline:auto;padding-inline:clamp(20px,3vw,58px)}
.twpf-clients__eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 9px;color:#f8c94e;font-size:clamp(12px,1vw,16px);line-height:1.7;font-weight:850}
.twpf-clients__eyebrow span{width:34px;height:1px;background:linear-gradient(90deg,transparent,#f6c449,transparent)}
.twpf-clients__title{margin:0!important;padding:0!important;color:#f7fbfd!important;font-size:clamp(24px,2.35vw,42px)!important;line-height:1.38!important;letter-spacing:-.03em;font-weight:950!important;text-align:center}
.twpf-clients__description{margin:8px auto 26px!important;max-width:900px;color:#b4cdd5!important;font-size:clamp(12px,.97vw,15px);line-height:1.9;text-align:center}
.twpf-clients__slider{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;column-gap:15px;width:100%;max-width:1600px;margin:0 auto}
.twpf-clients__viewport{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;outline:none}
.twpf-clients__viewport::-webkit-scrollbar{display:none}
.twpf-clients__viewport:focus-visible{outline:2px solid #f6c449;outline-offset:3px;border-radius:16px}
.twpf-clients__track{display:flex;flex-wrap:nowrap;gap:clamp(9px,1.05vw,15px);align-items:stretch;min-width:100%;width:max-content;padding:3px 2px 6px}
.twpf-client-card{flex:0 0 clamp(165px,13.25vw,214px);min-width:0;min-height:116px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(21,132,158,.55);background:linear-gradient(155deg,rgba(3,39,55,.86),rgba(0,27,40,.96));box-shadow:0 11px 28px rgba(0,8,18,.17),inset 0 1px 0 rgba(255,255,255,.04);padding:16px 10px 12px;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.twpf-client-card:hover{transform:translateY(-2px);border-color:rgba(0,205,224,.75);background:linear-gradient(155deg,#07384c,#002333)}
.twpf-client-card__mark{display:flex;align-items:center;justify-content:center;width:52px;height:45px;color:#f4faff;filter:drop-shadow(0 2px 8px rgba(255,255,255,.1))}
.twpf-client-card__mark svg{width:40px;height:40px;max-width:100%}
.twpf-client-card__mark img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.twpf-client-card__name{max-width:100%;color:#f6faff;font-size:clamp(14px,.99vw,17px);font-weight:880;line-height:1.55;text-wrap:balance}
.twpf-client-card__preview{position:absolute;top:5px;left:7px;color:#efca65;font-size:9px;line-height:1.2}
.twpf-clients__arrow{display:flex;align-items:center;justify-content:center;width:41px;height:41px;min-width:0;flex:0 0 auto;padding:0;border-radius:50%;border:1px solid rgba(0,163,187,.55);background:rgba(0,31,44,.94);color:#f4fbfd;box-shadow:0 0 0 4px rgba(0,70,87,.12);cursor:pointer;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.twpf-clients__arrow:hover:not(:disabled){border-color:#f6c449;color:#f6c449;box-shadow:0 0 20px rgba(246,196,73,.18)}
.twpf-clients__arrow:disabled{opacity:.45;cursor:default}
.twpf-clients__arrow--next{border-color:#f1bc42;color:#f6c449}
.twpf-clients__arrow:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:1180px){
 .twpf-clients__container{padding-inline:24px}
 .twpf-client-card{flex-basis:clamp(174px,20vw,207px)}
}
@media(max-width:767px){
 .twpf-clients{padding:5px 0 36px}
 .twpf-clients__container{padding-inline:14px}
 .twpf-clients__title{font-size:clamp(23px,6vw,31px)!important}
 .twpf-clients__description{margin:8px auto 20px!important;font-size:12px}
 .twpf-clients__slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}
 .twpf-clients__arrow{width:34px;height:34px}
 .twpf-clients__track{gap:10px}
 .twpf-client-card{flex-basis:clamp(155px,48vw,210px);min-height:105px;padding:13px 7px}
 .twpf-client-card__name{font-size:13px}
}
@media(max-width:370px){
 .twpf-clients__slider{gap:5px;grid-template-columns:29px minmax(0,1fr) 29px}
 .twpf-clients__arrow{width:29px;height:29px}
 .twpf-client-card{flex-basis:clamp(144px,56vw,170px)}
}
@media(prefers-reduced-motion:reduce){.twpf-clients *{scroll-behavior:auto!important;transition:none!important}}

/* === 1.3.1 / CLIENTS AUTOPLAY, FIXED LOGO BOX — SCOPED ONLY === */
.twpf-clients__slider{display:block!important;width:100%;min-width:0;max-width:1600px;margin:0 auto}
.twpf-clients__arrow{display:none!important}
.twpf-clients__viewport{
  direction:rtl;overflow-x:auto;overflow-y:hidden;touch-action:auto;
  scroll-behavior:auto!important;scroll-snap-type:none!important;
  overscroll-behavior-x:contain;cursor:grab;-webkit-overflow-scrolling:touch;
  -webkit-user-select:none;user-select:none;
}
.twpf-clients__viewport.is-dragging{cursor:grabbing}
.twpf-clients__track{
  display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;
  width:max-content!important;min-width:100%!important;gap:clamp(11px,1vw,16px)!important;
  padding:4px 2px 8px!important;direction:rtl;
}
.twpf-clients__cycle{display:flex;flex:0 0 auto;align-items:stretch;gap:clamp(11px,1vw,16px)}
.twpf-client-card{
  flex:0 0 clamp(178px,14vw,218px)!important;
  width:clamp(178px,14vw,218px)!important;height:150px!important;min-height:150px!important;
  padding:15px 12px 12px!important;justify-content:flex-start!important;
  gap:10px!important;scroll-snap-align:none!important;
}
.twpf-client-card__mark{
  flex:0 0 65px!important;width:100%!important;height:65px!important;
  min-width:0;max-width:100%;padding:3px;filter:none!important;
}
.twpf-client-card__mark img{
  display:block!important;width:100%!important;max-width:138px!important;
  height:100%!important;max-height:59px!important;object-fit:contain!important;
  object-position:center!important;margin:0 auto!important;
}
.twpf-client-card__mark svg{width:45px!important;height:45px!important;max-width:100%;max-height:100%;flex:none}
.twpf-client-card__name{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;max-width:100%;max-height:3.15em;min-height:2.2em;
  overflow-wrap:anywhere;line-height:1.55!important;white-space:normal;
  color:#f6faff!important;text-align:center!important;
}
.twpf-client-card:hover{transform:none!important}
.twpf-clients__viewport:focus-visible{outline:2px solid #f6c449;outline-offset:3px;border-radius:16px}
@media(max-width:767px){
  .twpf-client-card{flex-basis:166px!important;width:166px!important;height:142px!important;min-height:142px!important;padding:12px 9px 10px!important}
  .twpf-client-card__mark{flex-basis:60px!important;height:60px!important}
  .twpf-client-card__mark img{max-width:128px!important;max-height:55px!important}
  .twpf-client-card__name{font-size:13px!important}
}
@media(max-width:370px){.twpf-client-card{flex-basis:151px!important;width:151px!important}}
@media(prefers-reduced-motion:reduce){.twpf-clients__viewport{scroll-behavior:auto!important}}

/* === 1.4.0 PROCESS — frozen portfolio reference, ACF content, page scoped === */
body.twpf-portfolio-page .twpf-page-main > .twpf-process{
  width:100%!important;max-width:none!important;margin:0!important;border:0!important;
}
.twpf-process{
  --twpf-step-gold:#f6c449;
  --twpf-step-cyan:#00d7e7;
  position:relative;direction:rtl;isolation:isolate;overflow:hidden;
  background:linear-gradient(180deg,#001823 0%,#001b28 100%);
  color:#f7fbfd;font-family:inherit;text-align:center;
  padding:clamp(22px,2.4vw,38px) 0 clamp(48px,4.2vw,72px);
}
.twpf-process:before{
  content:"";position:absolute;width:470px;height:470px;right:-340px;top:-285px;
  border:1px solid rgba(246,196,73,.20);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 65px rgba(0,156,176,.018);
}
.twpf-process:after{
  content:"";position:absolute;width:355px;height:355px;left:-260px;bottom:-255px;
  border:1px solid rgba(246,196,73,.15);border-radius:50%;pointer-events:none;
}
.twpf-process__ambient{position:absolute;pointer-events:none;z-index:0;border-radius:50%;filter:blur(70px)}
.twpf-process__ambient--right{width:290px;height:220px;right:-130px;top:0;background:rgba(0,191,212,.055)}
.twpf-process__ambient--left{width:250px;height:150px;left:-90px;bottom:-50px;background:rgba(225,166,50,.055)}
.twpf-process__container{
  position:relative;z-index:1;max-width:1680px;margin-inline:auto;
  padding-inline:clamp(20px,3.7vw,66px);
}
.twpf-process__eyebrow{
  display:flex;align-items:center;justify-content:center;gap:13px;
  margin:0 0 9px;color:var(--twpf-step-gold);font-size:clamp(12px,1vw,16px);
  font-weight:850;line-height:1.7;
}
.twpf-process__eyebrow span{
  display:block;flex:0 0 36px;height:1px;
  background:linear-gradient(90deg,transparent,var(--twpf-step-gold),transparent);
}
.twpf-process__title{
  margin:0!important;padding:0!important;color:#f7fbfd!important;
  font-size:clamp(26px,2.55vw,43px)!important;line-height:1.4!important;
  letter-spacing:-.035em;font-weight:950!important;text-align:center;
}
.twpf-process__title em{font-style:normal;color:var(--twpf-step-cyan);font-weight:950}
.twpf-process__description{
  margin:8px auto 28px!important;max-width:810px;color:#b5cdd6;
  font-size:clamp(12px,.94vw,15px);line-height:1.95;text-align:center;
}
.twpf-process__steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(22px,2.2vw,36px);direction:rtl;
  padding:0;margin:0;list-style:none;counter-reset:none;
}
.twpf-process__step{
  position:relative;display:grid;grid-template-columns:clamp(55px,4.4vw,70px) minmax(0,1fr) clamp(43px,3.6vw,58px);
  align-items:center;column-gap:clamp(7px,.82vw,13px);min-width:0;min-height:132px;
  padding:18px clamp(13px,1.1vw,18px);border-radius:18px;
  border:1px solid rgba(23,143,172,.60);
  background:linear-gradient(155deg,rgba(4,47,64,.90) 0%,rgba(0,24,36,.95) 93%);
  box-shadow:0 14px 35px rgba(0,11,22,.20),inset 0 1px 0 rgba(255,255,255,.045);
  text-align:right;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.twpf-process__step:hover{
  border-color:rgba(0,215,231,.75);
  box-shadow:0 17px 42px rgba(0,11,22,.28),inset 0 1px 0 rgba(255,255,255,.05);
  transform:translateY(-2px);
}
.twpf-process__step:not(:last-child)::after{
  content:"";position:absolute;left:calc(clamp(22px,2.2vw,36px) * -.65);top:50%;
  width:7px;height:7px;border-left:2px solid #f6c449;border-bottom:2px solid #f6c449;
  transform:translate(-50%,-50%) rotate(45deg);
  filter:drop-shadow(0 0 6px rgba(246,196,73,.5));pointer-events:none;
}
.twpf-process__icon{
  display:flex;align-items:center;justify-content:center;
  width:clamp(55px,4.4vw,70px);height:clamp(55px,4.4vw,70px);
  border-radius:50%;border:1.5px solid rgba(0,196,219,.65);
  background:radial-gradient(circle at 40% 30%,rgba(9,68,83,.88),rgba(0,22,35,.92));
  color:#f6c449;box-shadow:0 0 0 4px rgba(0,51,69,.7),0 0 13px rgba(0,204,220,.14);
}
.twpf-process__icon svg{width:clamp(26px,2.35vw,36px);height:clamp(26px,2.35vw,36px)}
.twpf-process__copy{min-width:0;overflow-wrap:anywhere}
.twpf-process__step-title{
  margin:0 0 8px!important;padding:0!important;color:#fff!important;
  font-size:clamp(14px,1.05vw,18px)!important;font-weight:900!important;
  line-height:1.5!important;text-align:right;
}
.twpf-process__step-description{
  margin:0!important;padding:0!important;color:#b9d2dc!important;
  font-size:clamp(11px,.83vw,14px);font-weight:500;line-height:1.85;
  text-align:right;
}
.twpf-process__number{
  display:flex;align-items:center;justify-content:center;
  width:clamp(43px,3.6vw,58px);height:clamp(52px,4vw,66px);
  border-radius:13px;background:linear-gradient(155deg,rgba(3,56,74,.77),rgba(0,28,41,.96));
  color:#fff;font-size:clamp(25px,2vw,34px);font-weight:950;line-height:1;
  font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
@media(max-width:1180px){
  .twpf-process__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
  .twpf-process__step:nth-child(2n)::after{display:none}
  .twpf-process__step{min-height:126px;grid-template-columns:60px minmax(0,1fr) 50px}
  .twpf-process__icon{width:60px;height:60px}
  .twpf-process__number{width:50px;height:58px}
  .twpf-process__step-title{font-size:16px!important}
  .twpf-process__step-description{font-size:12px}
}
@media(max-width:640px){
  .twpf-process{padding:22px 0 42px}
  .twpf-process__container{padding-inline:16px}
  .twpf-process__description{margin-bottom:19px!important;font-size:12px}
  .twpf-process__title{font-size:clamp(24px,6.7vw,34px)!important}
  .twpf-process__eyebrow{font-size:13px}
  .twpf-process__steps{grid-template-columns:1fr;gap:16px}
  .twpf-process__step{grid-template-columns:60px minmax(0,1fr) 50px;min-height:106px;padding:14px 13px;gap:11px;border-radius:16px}
  .twpf-process__step::after{display:none!important}
  .twpf-process__icon{width:55px;height:55px}
  .twpf-process__icon svg{width:30px;height:30px}
  .twpf-process__step-title{font-size:15px!important;margin-bottom:5px!important}
  .twpf-process__step-description{font-size:12px;line-height:1.8}
  .twpf-process__number{width:46px;height:52px;font-size:27px}
}
@media(prefers-reduced-motion:reduce){.twpf-process *, .twpf-process *::before,.twpf-process *::after{transition:none!important;animation:none!important}}

/* =======================================================================
   1.5.0 — FINAL CTA / frozen-reference composition; ACF only, page scoped.
   ======================================================================= */
body.twpf-portfolio-page .twpf-page-main > .twpf-cta{
  width:100%!important;max-width:none!important;margin:0!important;
  border:0!important;
}
.twpf-cta{
  --twpf-cta-gold:#f6c449;--twpf-cta-cyan:#00d7e7;
  position:relative;direction:rtl;isolation:isolate;overflow:hidden;
  padding:0 0 0;color:#f5fafb;background:#001824;
  font-family:inherit;line-height:1.65;text-align:right;
}
.twpf-cta__halo{position:absolute;pointer-events:none;border-radius:50%;z-index:0}
.twpf-cta__halo--top{width:390px;height:390px;top:-275px;right:-190px;border:1px solid rgba(246,196,73,.19)}
.twpf-cta__halo--bottom{width:400px;height:400px;bottom:-340px;left:-170px;border:1px solid rgba(0,205,227,.23)}
.twpf-cta__frame{
  position:relative;isolation:isolate;display:block;width:100%;min-height:clamp(248px,21vw,390px);
  margin:0;overflow:hidden;border-radius:clamp(16px,1.7vw,27px) clamp(16px,1.7vw,27px) 0 0;
  border:1px solid rgba(0,174,204,.48);border-bottom:none;
  background:radial-gradient(ellipse 50% 130% at 92% 0%,rgba(0,109,133,.24),transparent 78%),
    linear-gradient(90deg,#03212e 0%,#001722 49%,#041d2a 100%);
  box-shadow:0 -12px 42px rgba(0,6,13,.15),inset 0 1px 0 rgba(255,255,255,.055);
}
.twpf-cta__frame::after{
  content:"";position:absolute;inset:auto 0 0;z-index:1;height:35%;pointer-events:none;
  background:linear-gradient(0deg,rgba(0,13,22,.28),transparent);
}
.twpf-cta__visual{
  position:absolute;inset:0 auto 0 0;width:61%;height:100%;z-index:0;
  overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 63%,rgba(0,0,0,.65) 81%,transparent 100%);
  mask-image:linear-gradient(to right,#000 0%,#000 63%,rgba(0,0,0,.65) 81%,transparent 100%);
}
.twpf-cta__visual picture,.twpf-cta__visual img{display:block;width:100%;height:100%}
.twpf-cta__visual img{object-fit:cover;object-position:52% center;user-select:none}
.twpf-cta__visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(0,15,22,.16),transparent 44%),linear-gradient(90deg,transparent 30%,rgba(0,15,23,.12) 100%);
}
.twpf-cta__handwritten{
  display:block;position:absolute;top:19%;right:9%;z-index:2;transform:rotate(-10deg);
  max-width:40%;text-align:center;white-space:normal;overflow-wrap:anywhere;
  font-family:inherit;font-size:clamp(21px,2.1vw,38px);font-style:italic;font-weight:700;
  letter-spacing:-.055em;line-height:1.55;color:#ffda68;
  text-shadow:0 2px 9px rgba(0,0,0,.88),0 0 20px rgba(254,191,52,.32);
}
.twpf-cta__handwritten::after{
  content:"";position:absolute;bottom:-8px;right:5%;left:9%;height:2px;
  border-radius:100%;background:#ffce57;transform:rotate(-5deg);
  box-shadow:0 0 10px rgba(255,200,70,.35)
}
.twpf-cta__content{
  position:relative;z-index:2;margin:0 0 0 auto;width:55%;min-height:inherit;
  display:flex;align-items:flex-start;justify-content:center;flex-direction:column;
  padding:clamp(24px,3.2vw,55px) clamp(24px,5.8vw,105px) clamp(29px,3.2vw,55px) 12px;
  text-align:right;
}
.twpf-cta__eyebrow{
  display:flex;align-items:center;gap:11px;color:#f6c449;
  font-size:clamp(12px,.98vw,17px);font-weight:850;line-height:1.6;margin:0 0 13px;
}
.twpf-cta__eyebrow > span{
  display:block;flex:0 0 33px;width:33px;height:1px;
  background:linear-gradient(90deg,transparent,#f6c449);
}
.twpf-cta__title{
  margin:0 0 clamp(18px,2.15vw,31px)!important;padding:0!important;
  font-weight:950!important;font-size:clamp(23px,2.26vw,40px)!important;
  line-height:1.43!important;letter-spacing:-.035em!important;text-align:right!important;
  color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.twpf-cta__title-line{display:block}
.twpf-cta__title em{font-style:normal;color:#00d7e7;font-weight:950}
.twpf-cta__actions{display:flex;flex-wrap:wrap;gap:clamp(9px,1.05vw,17px);align-items:center}
.twpf-cta__button,.twpf-cta__button:visited{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:clamp(45px,3.8vw,59px);min-width:clamp(142px,13.3vw,200px);
  padding:11px 22px;border-radius:11px;font-family:inherit;font-size:clamp(12px,1vw,16px);
  font-weight:900;text-decoration:none!important;line-height:1.25;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.twpf-cta__button svg{flex:0 0 auto}
.twpf-cta__button--gold,.twpf-cta__button--gold:visited{
  border:1px solid #f9ce59!important;background:linear-gradient(180deg,#ffdf6d,#f3b83f)!important;
  color:#051d29!important;box-shadow:0 6px 20px rgba(239,179,53,.21),inset 0 1px 0 rgba(255,255,255,.45)
}
.twpf-cta__button--outline,.twpf-cta__button--outline:visited{
  border:1px solid #00c8dc!important;background:rgba(1,23,34,.77)!important;
  color:#f5fafb!important;box-shadow:inset 0 1px 0 rgba(0,220,242,.06)
}
.twpf-cta__button--outline svg{color:#00d7e7}
.twpf-cta__button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,192,215,.20)}
.twpf-cta__button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.twpf-cta__edge{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(36,146,168,.35),transparent)}
@media(min-width:1680px){
  .twpf-cta__frame{min-height:365px}
  .twpf-cta__content{width:53%;padding-right:max(68px,calc((100vw - 1680px)/2 + 95px))}
}
@media(min-width:768px) and (max-width:1199px){
  .twpf-cta__frame{min-height:clamp(260px,29vw,340px)}
  .twpf-cta__visual{width:59%}
  .twpf-cta__content{width:58%;padding-right:clamp(24px,4vw,52px);padding-left:10px}
  .twpf-cta__title{font-size:clamp(24px,2.7vw,32px)!important}
  .twpf-cta__handwritten{top:19%;right:14%;max-width:38%;font-size:clamp(19px,2.15vw,28px)}
}
@media(max-width:767px){
  .twpf-cta{background:#001824}
  .twpf-cta__frame{display:flex;flex-direction:column;min-height:0;border-radius:20px 20px 0 0}
  .twpf-cta__content{
    order:0;width:100%;min-height:0;margin:0;padding:30px 21px 26px;
    text-align:right;background:linear-gradient(180deg,rgba(0,30,44,.87),rgba(0,24,36,.66));
  }
  .twpf-cta__eyebrow{font-size:12px;margin-bottom:12px}
  .twpf-cta__title{font-size:clamp(25px,6.25vw,37px)!important;margin-bottom:20px!important;line-height:1.48!important}
  .twpf-cta__actions{width:100%;gap:9px}
  .twpf-cta__button{flex:1 1 145px;min-width:0;padding:11px 9px;font-size:12px;min-height:48px;gap:7px}
  .twpf-cta__visual{
    position:relative;order:1;inset:auto;width:100%;height:clamp(205px,52vw,360px);
    -webkit-mask-image:none;mask-image:none;border-top:1px solid rgba(37,140,164,.3);
  }
  .twpf-cta__visual::after{background:linear-gradient(180deg,rgba(0,25,37,.27),transparent 27%,rgba(0,20,30,.3) 100%)}
  .twpf-cta__visual img{object-position:center 50%}
  .twpf-cta__handwritten{
    top:22%;right:13%;max-width:42%;font-size:clamp(19px,4.6vw,30px);
    transform:rotate(-8deg)
  }
  .twpf-cta__frame::after{height:25%}
}
@media(max-width:365px){
  .twpf-cta__content{padding:25px 15px}
  .twpf-cta__actions{flex-direction:column}
  .twpf-cta__button{width:100%;flex:auto;min-width:0}
  .twpf-cta__handwritten{max-width:48%;right:8%}
}
@media(prefers-reduced-motion:reduce){
  .twpf-cta *, .twpf-cta *::before, .twpf-cta *::after{transition:none!important;animation:none!important}
}
