.public-site{--site-bg:var(--gtwp-bg,#050506);--color-background:var(--gtwp-bg,#050506);--color-surface:var(--gtwp-surface,#111114);background:var(--gtwp-bg,#050506);color:var(--gtwp-text,#f7f7f8);overflow-x:clip}
.public-site *, .public-site *::before, .public-site *::after{box-sizing:border-box}
.public-site section,.public-site nav,.public-site article,.public-site figure,.public-site form{min-width:0}
.main-nav a{text-transform:uppercase;color:#fff;font-weight:700;letter-spacing:.055em}
.main-nav a.active,.main-nav a[aria-current=page]{color:var(--gtwp-primary,#e0002b)}
.brand-g{background:transparent!important;border:0!important;padding:0!important}
.brand-g img{width:100%!important;height:100%!important;object-fit:contain}
.brand-mark img{object-fit:contain}
.portal-hero{min-height:100svh;height:auto;padding:8.5rem 3.5vw 6rem;align-items:center}
.portal-hero__media{position:absolute;inset:0;width:100%!important;height:100%;object-fit:cover;object-position:70% center}
.portal-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.78),rgba(5,5,6,.3) 38%,transparent 66%)}
.portal-hero .hero-aurora,.portal-hero .hero-feature-strip,.portal-hero .hero-index,.portal-hero__content>.eyebrow{display:none}
.portal-hero__content{position:relative;z-index:2;width:min(48%,650px)}
.portal-hero__content h1{font-size:clamp(3rem,6.1vw,7.25rem);line-height:1.02;letter-spacing:-.025em;font-weight:850;text-transform:uppercase;margin:0 0 1.5rem;color:#fff;max-width:100%}
.hero-title-outline{color:transparent;-webkit-text-stroke:1.5px #fff;paint-order:stroke fill}
.portal-hero .hero-copy{font-size:1rem;line-height:1.6;max-width:35rem;margin:1.5rem 0 2.2rem;color:#e4dde0}
.portal-hero .hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}
.portal-hero .hero-buttons a{min-height:3.5rem;min-width:12rem;justify-content:center;text-transform:uppercase;font-size:.9rem;letter-spacing:.065em}
.portal-hero .primary-button{background:var(--gtwp-primary,#e0002b);color:#fff}
.portal-hero .hero-buttons svg{display:none}
.personal-hero__media{object-position:var(--photo-position,72% center)}
.personal-hero__content{max-width:min(48%,650px);position:relative}
.personal-hero__content h1{font-size:clamp(2.7rem,5.5vw,6.5rem);line-height:1.08;overflow-wrap:normal}
.personal-hero__content .personal-hero__name{font-size:clamp(1.8rem,3.4vw,3.5rem)}
.immersive-profile-card{aspect-ratio:3/4!important;border:1px solid rgba(255,255,255,.11);border-radius:4px;container-type:inline-size;isolation:isolate}
.immersive-profile-card::after{content:"";position:absolute;inset:0;z-index:8;border:1px solid transparent;border-radius:inherit;pointer-events:none;transition:border-color .35s ease}
.immersive-profile-card__open{overflow:hidden}
.immersive-profile-card__open img.card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 20%);transition:opacity .45s ease,transform .65s ease;transform:scale(1.015)}
.immersive-profile-card__open img.card-photo--primary{opacity:1}
.immersive-profile-card__open img.card-photo--secondary{opacity:0}
.immersive-profile-card__open::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(transparent 50%,rgba(5,5,6,.8))}
.immersive-profile-card__open>.profile-name{position:absolute;z-index:3;bottom:1.1rem;left:50%;right:auto;top:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);margin:0;font-size:clamp(.875rem,6.4cqw,1.5rem);line-height:1.3;letter-spacing:.015em;text-align:center;white-space:nowrap;transition:left .4s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1);text-transform:uppercase}
.profile-name__first{color:var(--gtwp-primary,#e0002b)!important}
.profile-name__surname{color:#fff!important}
.immersive-profile-card .card-favorite{position:absolute;z-index:6;top:auto;bottom:.6rem;right:.6rem;width:2.5rem;height:2.5rem;background:transparent;border:0;color:#fff;opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .3s ease,transform .4s ease}
.immersive-profile-card .card-favorite.is-favorite{color:var(--gtwp-primary,#e0002b)}
.immersive-profile-card .card-favorite svg{width:22px;height:22px;stroke-width:1.4}
.immersive-profile-card:focus-within::after{border-color:rgba(224,0,43,.8)}
.immersive-profile-card:focus-within .card-favorite{opacity:1;transform:none;pointer-events:auto}
.immersive-profile-card:focus-within .immersive-profile-card__open>.profile-name{left:1rem;transform:none;text-align:left;max-width:calc(100% - 4rem)}
.catalog-grid,.rated-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.catalog-grid .immersive-profile-card,.rated-photo-grid .immersive-profile-card{width:100%;max-width:none}
.profile-preview-backdrop{position:fixed;inset:0;z-index:300;padding:0}
.profile-preview{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;background:var(--gtwp-bg,#050506)!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);overflow:hidden}
.profile-preview__content{min-width:0;max-height:100%;overflow-y:auto;background:var(--gtwp-bg,#050506);color:var(--gtwp-text,#f7f7f8)}
.profile-preview__media{border-radius:0!important;min-width:0;min-height:0}
.profile-photo-switcher{position:absolute;inset:0;overflow:hidden}
.profile-photo-switcher .preview-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 20%);opacity:0;transition:opacity .4s ease}
.profile-photo-switcher .preview-photo.photo-is-active{opacity:1}
.profile-photo-dots{position:absolute;z-index:9;bottom:.75rem;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:0;pointer-events:auto}
.profile-photo-dots button{width:40px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
.profile-photo-dots span{display:block;width:10px;height:10px;border:1px solid #fff;border-radius:50%;background:transparent}
.profile-photo-dots span.active{border-color:var(--gtwp-primary,#e0002b);background:var(--gtwp-primary,#e0002b)}
.preview-media-shade,.preview-media-icon,.preview-media-logo{pointer-events:none}
.preview-media-shade{background:linear-gradient(transparent 60%,rgba(5,5,6,.65));z-index:2}
.preview-media-icon,.preview-media-logo{z-index:3;object-fit:contain}
.public-site img{max-width:100%}
@media(hover:hover) and (pointer:fine){
 .immersive-profile-card:hover::after{border-color:rgba(224,0,43,.8)}
 .immersive-profile-card:hover .card-photo--primary{opacity:0}
 .immersive-profile-card:hover .card-photo--secondary{opacity:1}
 .immersive-profile-card:hover .immersive-profile-card__open>.profile-name{left:1rem;transform:none;text-align:left;max-width:calc(100% - 4rem)}
 .immersive-profile-card:hover .card-favorite{opacity:1;transform:none;pointer-events:auto}
}
@media(min-width:1600px){.catalog-results,.rated-photo-grid{max-width:1600px;margin-inline:auto}}
@media(max-width:1100px){.portal-hero__content{width:52%}.main-nav{gap:1rem}.site-header{padding-inline:1.25rem}.header-actions{gap:.5rem}}
@media(max-width:800px){
 .portal-hero,.personal-hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;min-height:100svh;padding:0!important;background:var(--gtwp-bg,#050506);overflow:visible}
 .portal-hero__media,.personal-hero__media{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;min-height:0;aspect-ratio:4/3;object-fit:cover;object-position:var(--photo-mobile-position,70% 18%);margin-top:4.5rem}
 .portal-hero__veil,.personal-hero__veil{display:none}
 .portal-hero__content,.personal-hero__content{position:relative;inset:auto;width:100%!important;max-width:none;padding:1.75rem 1.25rem 2.5rem;background:var(--gtwp-bg,#050506)}
 .portal-hero__content h1{font-size:clamp(2.75rem,9.5vw,5rem);line-height:1.04;max-width:100%;margin-bottom:1.25rem}
 .portal-hero .hero-copy{max-width:none;margin:1rem 0 1.5rem}
 .portal-hero .hero-buttons,.personal-hero .hero-buttons{display:flex;gap:.75rem;flex-wrap:wrap}
 .portal-hero .hero-buttons a{flex:1;min-width:min(12rem,100%)}
 .personal-hero__content h1{font-size:clamp(2.5rem,8vw,4rem);line-height:1.08}
 .personal-hero .hero-index,.personal-hero .hero-feature-strip{position:static}
 .personal-hero .hero-feature-strip{margin:0 1.25rem 2rem;display:grid;gap:1rem;grid-template-columns:1fr}
 .immersive-profile-card__open img.card-photo,.profile-photo-switcher .preview-photo{object-position:var(--photo-mobile-position,var(--photo-position,50% 20%))}
 .exclusive-track .immersive-profile-card{flex-basis:clamp(240px,65vw,420px)}
 .profile-preview{display:flex!important;flex-direction:column;height:100dvh!important;overflow-y:auto}
 .profile-preview__media{height:46svh;min-height:260px;flex:0 0 auto}
 .profile-preview__content{max-height:none;overflow:visible;padding:2rem 1.25rem 3rem}
 .preview-close{position:fixed;top:1rem;right:1rem;z-index:20}
 .preview-arrow{position:absolute;top:23svh}
 .personal-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .personal-gallery-grid figure{min-width:0}
 .personal-gallery-grid img{object-fit:cover;width:100%;aspect-ratio:4/3;height:auto}
 .testimonial-section,.identity-section,.personal-facts,.personal-contact{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:1fr!important}
 .testimonial-section>img,.identity-photo,.personal-facts__photo{position:relative!important;width:100%;height:auto!important;min-height:0;aspect-ratio:4/3;overflow:hidden}
 .identity-photo img,.personal-facts__photo img{object-fit:cover;width:100%;height:100%;object-position:65% 20%}
 .testimonial-quote,.personal-facts__content,.identity-section>div:last-child,.personal-contact__copy{position:static;padding:2rem 1.25rem}
 .contact-form,.form-grid{min-width:0}
 .preview-actions{flex-wrap:wrap}
 .preview-actions a,.preview-actions button{max-width:100%}
}
@media(max-width:520px){.catalog-grid,.rated-photo-grid{grid-template-columns:1fr;gap:1rem}.catalog-grid .immersive-profile-card,.rated-photo-grid .immersive-profile-card{aspect-ratio:4/5!important}.personal-gallery-grid{grid-template-columns:1fr}.site-header .header-cta{display:none}.main-nav--open{background:var(--gtwp-bg,#050506)}.preview-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.immersive-profile-card *,.immersive-profile-card::after,.profile-photo-switcher .preview-photo{transition:none!important;animation:none!important}}
.identified-image-slot{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:1rem;background:#151518;border:1px solid #ffffff18;border-radius:8px}
.identified-image-slot>strong{font-size:1rem;line-height:1.4;color:#fff}
.identified-image-slot__preview{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:var(--gtwp-bg,#050506);border-radius:4px}
.identified-image-slot__preview img{width:100%;height:100%;object-fit:cover}
.identified-image-slot__preview[data-device=mobile]{aspect-ratio:3/4;width:min(100%,220px);margin-inline:auto}
.identified-image-slot--logo .identified-image-slot__preview{aspect-ratio:3/1;background:#29292c}
.identified-image-slot--logo .identified-image-slot__preview img{object-fit:contain;width:90%;height:85%}
.identified-image-slot label{display:grid;gap:.45rem;font-size:.9rem;line-height:1.4}
.identified-image-slot select{width:100%;min-width:0;background:var(--gtwp-bg,#050506);color:#fff;border:1px solid #ffffff30;border-radius:4px;padding:.65rem;font-size:1rem}
.identified-image-slot__upload{background:#25252b;border:1px solid #ffffff20;padding:.75rem;text-align:center;border-radius:4px;cursor:pointer}
.identified-image-slot__upload input{max-width:100%;font-size:.875rem}
.identified-image-slot details{border-top:1px solid #ffffff1a;padding-top:.75rem}
.identified-image-slot summary{font-size:.9rem;cursor:pointer}
.identified-image-slot fieldset{border:0;padding:1rem 0;min-width:0;display:grid;gap:.75rem}
.identified-image-slot legend{font-size:.9rem;color:#b3b3ba}
.identified-image-slot input[type=range]{accent-color:var(--gtwp-primary,#e0002b);width:100%}
.framing-preview-buttons{display:flex;gap:.5rem;margin-top:1rem}
.framing-preview-buttons button{background:#25252b;color:#fff;border:1px solid #ffffff22;border-radius:4px;padding:.55rem .7rem}
.framing-preview-buttons button[aria-pressed=true]{border-color:var(--gtwp-primary,#e0002b)}
.identified-image-slot p[role=alert]{color:var(--gtwp-accent,#ff3557);line-height:1.5;font-size:.9rem}
.site-header--personal .brand-mark .brand-g img{display:block}
.personal-facts__photo img,.identity-photo img{object-position:30% 20%}
