/*
Theme Name: ORTELI Quiet Gallery
Description: Editable typographic design for Twenty Twenty-Five.
Template: twentytwentyfive
Version: 0.7.5
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: orteli-gallery
*/
/* Shared defaults live in theme.json; no external font or animation requests. */
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
body.admin-bar header.wp-block-template-part { top: 32px; }
.orteli-header { background: color-mix(in srgb, var(--wp--preset--color--paper) 82%, transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid rgba(36,34,31,.12); }
.orteli-header-inner { min-height: 76px; }
.orteli-mark { font-family: var(--wp--preset--font-family--display); font-weight: 500; font-optical-sizing: none; letter-spacing: .035em; line-height: 1; }
.orteli-brand { font-size: 2rem; margin: 0; }
.orteli-brand .orteli-mark { font-weight: 700; }
.orteli-footer-mark { font-size: 1.5rem; margin: 0; }
.orteli-brand a { text-decoration: none; display: flex; align-items: baseline; gap: 0; }
.orteli-brand-descriptor, .orteli-descriptor { font-family: var(--wp--preset--font-family--display); font-weight: 300; letter-spacing: .12em; line-height: 1.3; }
.orteli-brand-descriptor { font-weight: 200; font-size: 1em; line-height: 1; letter-spacing: .035em; font-optical-sizing: none; white-space: nowrap; }
.orteli-header nav { font-size: .875rem; }
.orteli-header nav a { text-decoration: none; }
.orteli-header nav a::after { content: ''; display: block; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.orteli-header nav a:hover::after, .orteli-header nav a:focus-visible::after { transform: scaleX(1); }
.orteli-type-hero { padding-top: clamp(2rem,5vw,5rem); padding-bottom: clamp(3rem,6vw,6rem); }
.orteli-wordmark { text-wrap: nowrap; margin-top: 0 !important; margin-bottom: 0 !important; }
.orteli-descriptor { margin-top: 1.5rem !important; }
.orteli-intro .orteli-wordmark { animation: orteli-enter 1.65s cubic-bezier(.2,.65,.25,1) both; }
.orteli-intro > p { animation: orteli-enter 1.65s .18s cubic-bezier(.2,.65,.25,1) both; }
.orteli-statement { gap: clamp(2rem,6vw,6rem) !important; margin-top: 0 !important; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--rule); }
.orteli-eyebrow { letter-spacing: .08em; line-height: 1.7; }
.orteli-statement-heading { font-size: clamp(2.5rem,5.5vw,5rem); line-height: 1.05; letter-spacing: -.045em; margin-top: 0; }
.orteli-statement .has-large-font-size { max-width: 39rem; margin-top: 2.5rem; }
.orteli-statement p { max-width: 39rem; }
.orteli-services { margin-top: clamp(5rem,10vw,10rem) !important; }
.orteli-service-row { padding-top: clamp(2rem,4vw,4rem); padding-bottom: clamp(2rem,4vw,4rem); margin-top: 1.5rem !important; border-top: 1px solid var(--wp--preset--color--rule); gap: clamp(1.5rem,4vw,4rem) !important; align-items: center !important; }
.orteli-service-number { font-size: clamp(3rem,7vw,6.5rem); font-weight: 300; line-height: 1; letter-spacing: -.05em; margin: 0; }
.orteli-service-row h2 { font-size: clamp(2.2rem,4vw,4rem); font-weight: 400; line-height: 1.07; letter-spacing: -.035em; margin: 0; }
.orteli-service-row p:not(.orteli-service-number) { max-width: 28rem; }
#contact { scroll-margin-top: 7rem; }
#contact h2 { font-size: clamp(2.5rem,5vw,5rem); letter-spacing: -.04em; line-height: 1.08; }
.orteli-reveal { opacity: 1; transform: none; }
.orteli-reveal.is-pending { opacity: 0; transform: translateY(60px); }
.orteli-reveal.is-observed { transition: opacity 1.3s cubic-bezier(.2,.65,.25,1), transform 1.3s cubic-bezier(.2,.65,.25,1); }
.orteli-reveal.is-visible { opacity: 1; transform: none; }
.orteli-text-reveal { transition: opacity 1.25s cubic-bezier(.2,.65,.25,1), transform 1.25s cubic-bezier(.2,.65,.25,1), filter 1.25s ease; transition-delay: var(--orteli-delay,0ms); }
.is-pending > .orteli-text-reveal { opacity: 0; transform: translateY(28px); filter: blur(5px); }
.is-visible > .orteli-text-reveal { opacity: 1; transform: none; filter: blur(0); }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@keyframes orteli-enter { from { opacity: 0; transform: translateY(52px); filter: blur(6px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@media (max-width: 781px) {
 .orteli-header-inner { min-height: 64px; }
 .orteli-brand { font-size: clamp(.75rem,3.5vw,1.1rem); }
 .orteli-brand a { flex-direction: row; align-items: baseline; gap: 0; }
 .orteli-brand-descriptor { font-size: 1em; }
 .orteli-service-row { gap: 1.25rem !important; }
 .orteli-service-row .wp-block-column { margin: 0; }
 .orteli-service-row h2 { max-width: 18rem; }
 body.admin-bar header.wp-block-template-part { top: 46px; }
}
@media (max-width: 600px) { body.admin-bar header.wp-block-template-part { top: 0; } }
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .orteli-intro *, .orteli-reveal, .orteli-text-reveal { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; filter: none !important; }
}
.editor-styles-wrapper .orteli-intro * { animation: none !important; }

/* A full viewport from the first pixel; the fixed header floats above it. */
body.home header.wp-block-template-part { position: fixed; left: 0; right: 0; }
.orteli-video-hero { min-height: 100vh !important; min-height: 100svh !important; padding: 5rem var(--wp--style--root--padding-right) 5rem var(--wp--style--root--padding-left); box-sizing: border-box; }
body.admin-bar .orteli-video-hero { min-height: calc(100svh - 32px) !important; }
.orteli-video-hero .wp-block-cover__inner-container { max-width: 100% !important; width: 100%; }
.orteli-video-hero .orteli-wordmark { max-width: none !important; color: #fff; }
.orteli-video-hero .wp-block-cover__video-background { object-fit: cover; }
.orteli-summary { padding-top: clamp(3.5rem,7vw,7rem); }
.orteli-summary p { max-width: 52rem; font-size: clamp(1.5rem,3vw,2.5rem); line-height: 1.4; letter-spacing: -.02em; }
@media (max-width: 782px) { body.admin-bar .orteli-video-hero { min-height: calc(100svh - 46px) !important; } }
/* Keep the local admin toolbar from obscuring the fixed navigation on phones. */
body.home.admin-bar #wpadminbar { position: fixed; }
@media (max-width:782px) { body.home.admin-bar header.wp-block-template-part { top:46px; } }

.orteli-hero-copy { color: #fff; max-width: 52rem !important; margin: 1.5rem auto 0 !important; font-size: clamp(1rem,1.7vw,1.5rem); line-height: 1.65; font-weight: 400; animation: orteli-enter 1.65s .22s cubic-bezier(.2,.65,.25,1) both; }
.orteli-video-hero .orteli-wordmark { font-size: clamp(4rem,20vw,19rem); }
.orteli-video-hero + .orteli-services { margin-top: clamp(3rem,6vw,6rem) !important; }

/* Match the 14 / 48 / 38 service grid so contacts hang below its last column. */
.orteli-contact-row { display: grid !important; grid-template-columns: 14fr 48fr 38fr; gap: clamp(1.5rem,4vw,4rem) !important; align-items: start !important; }
.orteli-contact-title { grid-column: 1 / span 2; }
.orteli-contact-details { grid-column: 3; }
.orteli-copyright { text-align: center; margin-top: 3rem !important; }
.orteli-contact-links { font-size: var(--wp--preset--font-size--medium); line-height: 1.65; margin-top: 0; }
.orteli-contact-links a { display: inline-block; position: relative; text-decoration: none; }
.orteli-contact-links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.orteli-contact-links a:hover::after, .orteli-contact-links a:focus-visible::after { transform: scaleX(1); }
@media (max-width:781px) { .orteli-contact-row { grid-template-columns: 1fr; gap: 1.25rem !important; } .orteli-contact-title, .orteli-contact-details { grid-column: 1; } }
@media (prefers-reduced-motion:reduce) { .orteli-contact-links a::after { transition: none; } }

/* WordPress rounds Cover opacity classes to tens; retain the requested 35%. */
.orteli-video-hero .wp-block-cover__background.has-background-dim-40 { opacity: .35 !important; }
@media (min-width:782px) { .orteli-service-row { display: grid !important; grid-template-columns: 14fr 48fr 38fr; } }
