:root {
    --or-primary: #3A6E88;
    --or-primary-strong: #2F5C72;
    --or-primary-soft: #EAF4FA;
    --or-secondary: #5E5F61;
    --or-muted-slate: #768080;
    --or-accent: #ACD4ED;
    --or-accent-soft: #DCECF7;
    --or-surface-alt: #C3CFDB;
    --or-page: #F5F7F9;
    --or-surface: #FFFFFF;
    --or-surface-muted: #F8FAFB;
    --or-text: #263238;
    --or-text-muted: #68757D;
    --or-border: #DCE3E8;
    --or-border-strong: #C7D0D6;
    --or-radius-sm: 10px;
    --or-radius: 18px;
    --or-radius-lg: 24px;
    --or-shadow: 0 4px 14px rgba(38, 50, 56, .045);
    --or-transition: 160ms ease;
    --or-content: 1120px;
    --or-mono: "SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
    --or-nav-h: 58px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--or-text);
    background: var(--or-page);
    font: 400 .86rem/1.58 Inter, "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--or-primary); transition: color var(--or-transition); }
a:hover { color: var(--or-primary-strong); }
img { max-width: 100%; }

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 .55rem;
    color: var(--or-text);
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.015em;
}
h1 { font-size: 1.55rem; }
h2 { font-size: 1.05rem; }
h3 { font-size: .94rem; }
h4, h5, h6 { font-size: .86rem; }
p { margin: 0 0 .75rem; }

:focus-visible {
    outline: 3px solid rgba(58, 110, 136, .22);
    outline-offset: 2px;
}

.or-shell {
    width: min(var(--or-content), calc(100% - 2.4rem));
    margin-inline: auto;
}

.or-site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    border-bottom: 1px solid rgba(220, 227, 232, .55);
    background: linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .72));
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    backdrop-filter: blur(14px) saturate(150%);
    box-shadow: 0 1px 0 rgba(58, 110, 136, .05);
}

.or-nav {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.or-brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--or-text);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 600;
}
.or-brand:hover { color: var(--or-primary); text-decoration: none; }
.or-brand-mark {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 9px 9px 9px 3px;
    color: #fff;
    background: var(--or-primary);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: -.03em;
}

.or-nav-toggle {
    display: none;
    width: 34px;
    height: 34px;
    padding: 8px 6px;
    border: 1px solid var(--or-border);
    border-radius: var(--or-radius-sm);
    background: var(--or-surface);
    cursor: pointer;
}
.or-nav-toggle span {
    display: block;
    width: 100%;
    height: 1.5px;
    margin: 4px 0;
    background: var(--or-text);
    transition: transform var(--or-transition), opacity var(--or-transition);
}
.or-site-header.or-nav-open .or-nav-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
.or-site-header.or-nav-open .or-nav-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.or-nav-links { display: flex; align-items: center; gap: 1.15rem; }
.or-nav-links a {
    position: relative;
    color: var(--or-text-muted);
    text-decoration: none;
    font-size: .76rem;
    font-weight: 500;
    transition: color var(--or-transition);
}
.or-nav-links a:not(.or-button)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 1px;
    background: currentColor;
    opacity: .7;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
.or-nav-links a:not(.or-button):hover::after { transform: scaleX(1); transform-origin: left; }
.or-nav-links a:hover { color: var(--or-primary); }
.or-nav-links .or-button--primary,
.or-nav-links .or-button--primary:hover { color: #fff; }

.or-button,
body .btn,
body button.btn,
body a.btn {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem .88rem;
    border: 1px solid transparent;
    border-radius: 999px;
    box-shadow: none;
    font: 600 .76rem/1 Inter, "Segoe UI", Arial, sans-serif;
    text-decoration: none;
    transition: background var(--or-transition), border-color var(--or-transition), color var(--or-transition), transform var(--or-transition);
}
.or-button:hover,
body .btn:hover { transform: translateY(-1px); text-decoration: none; }
.or-button--primary,
body .btn-primary { color: #fff; background: var(--or-primary); border-color: var(--or-primary); }
.or-button--primary:hover,
body .btn-primary:hover { color: #fff; background: var(--or-primary-strong); border-color: var(--or-primary-strong); }
.or-button--secondary,
body .btn-secondary { color: var(--or-text); background: var(--or-surface); border-color: var(--or-border-strong); }
.or-button--secondary:hover,
body .btn-secondary:hover { color: var(--or-primary); background: var(--or-primary-soft); border-color: var(--or-accent); }
.or-button--danger,
body .btn-danger { color: #8b3f3f; background: #fff7f7; border-color: #e9caca; }

.or-eyebrow {
    margin-bottom: .45rem;
    color: var(--or-primary);
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .095em;
    text-transform: uppercase;
}
.or-muted { color: var(--or-text-muted); }

.or-show {
    position: relative;
    height: calc(100vh - var(--or-nav-h));
    min-height: 560px;
    background: var(--or-page);
}
.or-show__slides {
    position: relative;
    display: grid;
    height: 100%;
}
.or-show__slide {
    grid-area: 1 / 1;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    transition: opacity .7s ease, transform 1.1s ease, visibility .7s;
    background: var(--slide-bg);
    color: #fff;
}
.or-show__slide.is-active { opacity: 1; visibility: visible; transform: none; }
.or-show__slide::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(120% 130% at 88% -10%, rgba(255, 255, 255, .16), transparent 52%);
    pointer-events: none;
}
.or-show__slide::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 34%;
    background: linear-gradient(180deg, transparent, rgba(38, 50, 56, .14));
    pointer-events: none;
}
.or-show__slide--brand { --slide-bg: linear-gradient(118deg, #2F5C72 0%, #3A6E88 55%, #ACD4ED 150%); }
.or-show__slide--cm { --slide-bg: linear-gradient(118deg, #2F5C72 0%, #3A6E88 55%, #768080 150%); }
.or-show__slide--gcse { --slide-bg: linear-gradient(118deg, #3A6E88 0%, #2F5C72 50%, #768080 145%); }
.or-show__slide--interview { --slide-bg: linear-gradient(118deg, #263238 0%, #2F5C72 55%, #3A6E88 150%); }
.or-show__slide--invoice { --slide-bg: linear-gradient(118deg, #2F5C72 0%, #768080 60%, #3A6E88 150%); }
.or-show__inner {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 2rem;
    padding: 1.6rem 0 4.5rem;
}
.or-show__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}
.or-show__label {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    font: 600 .66rem/1 var(--or-mono);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .82);
}
.or-show__label::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--or-accent);
}
.or-show__track {
    display: flex;
    align-items: center;
    gap: .9rem;
}
.or-show__counter {
    font: 500 .68rem/1 var(--or-mono);
    letter-spacing: .08em;
    color: rgba(255, 255, 255, .85);
}
.or-show__progress {
    width: 120px;
    height: 2px;
    background: rgba(255, 255, 255, .25);
    overflow: hidden;
}
.or-show__progress i {
    display: block;
    height: 100%;
    width: 0;
    background: #fff;
}
.or-show__slide.is-active .or-show__progress i { animation: orShowFill 5.6s linear forwards; }
.or-show:hover .or-show__slide.is-active .or-show__progress i,
.or-show:focus-within .or-show__slide.is-active .or-show__progress i { animation-play-state: paused; }
@keyframes orShowFill { from { width: 0; } to { width: 100%; } }
.or-show__grid {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 2.4rem;
    align-items: center;
}
.or-show__num {
    font: 700 clamp(3.25rem, 6vw, 5rem)/1 var(--or-mono);
    letter-spacing: -.04em;
    color: rgba(255, 255, 255, .26);
}
.or-show__status {
    display: block;
    margin-bottom: .7rem;
    font: 600 .68rem/1 var(--or-mono);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .75);
}
.or-show__body { max-width: 620px; }
.or-show__body h2 {
    margin: 0 0 .6rem;
    overflow: hidden;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.2;
    color: #fff;
}
.or-show__body h2 span { display: inline-block; }
.or-show__body p { margin: 0 0 1.1rem; max-width: 560px; font-size: .9rem; color: rgba(255, 255, 255, .8); }
.or-show__tags { display: flex; gap: .4rem; flex-wrap: wrap; }
.or-show__tags span {
    padding: .24rem .55rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    color: rgba(255, 255, 255, .85);
    font-size: .66rem;
}
.or-show__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .55rem;
    font: 500 .68rem/1.5 var(--or-mono);
    color: rgba(255, 255, 255, .75);
    letter-spacing: .04em;
}
.or-show__cta {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .4);
    padding-bottom: 2px;
    transition: color var(--or-transition), border-color var(--or-transition);
}
.or-show__cta:hover { color: var(--or-accent); border-color: var(--or-accent); }

.or-show__slide.is-active .or-show__num { animation: orShowFade .6s .05s cubic-bezier(.22, .61, .36, 1) both; }
.or-show__slide.is-active .or-show__status { animation: orShowUp .5s .16s cubic-bezier(.22, .61, .36, 1) both; }
.or-show__slide.is-active .or-show__body h2 span { animation: orShowTitle .7s .2s cubic-bezier(.22, .61, .36, 1) both; }
.or-show__slide.is-active .or-show__body p { animation: orShowUp .5s .3s cubic-bezier(.22, .61, .36, 1) both; }
.or-show__slide.is-active .or-show__tags { animation: orShowUp .5s .4s cubic-bezier(.22, .61, .36, 1) both; }
.or-show__slide.is-active .or-show__meta { animation: orShowUp .5s .48s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes orShowFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes orShowUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes orShowTitle { from { transform: translateY(105%); } to { transform: translateY(0); } }

.or-show__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    pointer-events: none;
}
.or-show__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.35rem;
}
.or-show__index { display: flex; flex-wrap: wrap; gap: .35rem 1.2rem; pointer-events: auto; }
.or-show__index button {
    display: inline-flex;
    align-items: baseline;
    gap: .5rem;
    padding: .3rem 0;
    border: 0;
    background: none;
    cursor: pointer;
    font: 500 .72rem/1 var(--or-mono);
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .5);
    transition: color var(--or-transition);
}
.or-show__index button span { color: rgba(255, 255, 255, .42); font-size: .62rem; }
.or-show__index button:hover { color: rgba(255, 255, 255, .9); }
.or-show__index button.is-active { color: #fff; }
.or-show__index button.is-active span { color: var(--or-accent); }
.or-show__dots { display: none; gap: .55rem; pointer-events: auto; }
.or-show__dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .38);
    cursor: pointer;
    transition: background var(--or-transition), transform var(--or-transition);
}
.or-show__dots button.is-active { background: #fff; transform: scale(1.2); }
.or-show__buttons { display: flex; gap: .5rem; pointer-events: auto; }
.or-show__btn {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
    font-size: .85rem;
    transition: background var(--or-transition), border-color var(--or-transition);
}
.or-show__btn:hover { background: rgba(255, 255, 255, .2); border-color: rgba(255, 255, 255, .6); }

.or-now {
    padding: .9rem 1rem;
    border-left: 3px solid var(--or-primary);
    border-radius: var(--or-radius-sm);
    background: var(--or-primary-soft);
}
.or-now__kicker { display: block; color: var(--or-text-muted); font: 600 .62rem/1 var(--or-mono); letter-spacing: .15em; text-transform: uppercase; }
.or-now__text { margin: .55rem 0 0; font-size: .86rem; color: var(--or-text); }
.or-index { list-style: none; margin: 0; padding: 0; }
.or-index li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: .5rem 0;
    border-bottom: 1px solid var(--or-border);
}
.or-index li span { font-size: .78rem; color: var(--or-text); }
.or-index li em { font: 500 .62rem/1 var(--or-mono); color: var(--or-primary); font-style: normal; }

.or-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 3rem;
    align-items: start;
}
.or-intro__main h2 {
    margin: 0 0 .9rem;
    max-width: 620px;
    font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9rem);
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -.02em;
}
.or-intro__main h2 em { color: var(--or-primary); font-style: italic; font-weight: 500; }
.or-intro__main p { max-width: 560px; margin: 0 0 1.3rem; color: var(--or-text-muted); font-size: .88rem; }
.or-intro__actions { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.or-intro__side {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: min(100%, 340px);
    margin-left: auto;
}
.or-intro__meta {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--or-border);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    color: var(--or-text-muted);
    font: 500 .66rem/1.6 var(--or-mono);
    letter-spacing: .05em;
}

.or-textlink {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--or-primary-strong);
    font-size: .82rem;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--or-transition);
}
.or-textlink::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: currentColor;
    opacity: .6;
    transform: scaleX(.35);
    transform-origin: left;
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
.or-textlink__arrow { transition: transform var(--or-transition); }
.or-textlink:hover { color: var(--or-primary); }
.or-textlink:hover::after { transform: scaleX(1); }
.or-textlink:hover .or-textlink__arrow { transform: translate(3px, -3px); }

.or-section { padding: 1.9rem 0; }
.or-section + .or-section { border-top: 1px solid var(--or-border); }
.or-section-head {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 2rem;
    align-items: end;
    margin-bottom: 1.4rem;
}
.or-section-head h2 { margin: 0; font-size: 1.24rem; font-weight: 600; letter-spacing: -.015em; }
.or-section-head__note { margin: 0; justify-self: end; text-align: right; max-width: 300px; color: var(--or-text-muted); font-size: .78rem; line-height: 1.5; }

.or-services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3.5rem;
}
.or-service {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .2rem 1.2rem;
    align-items: start;
    padding: 1.3rem 0;
    border-top: 1px solid var(--or-border);
}
.or-service__num { padding-top: .25rem; font: 500 .68rem/1 var(--or-mono); color: var(--or-primary); }
.or-service h3 { margin: 0 0 .3rem; font-size: .92rem; font-weight: 600; }
.or-service p { margin: 0; color: var(--or-text-muted); font-size: .8rem; }

.or-cvmaster { background: var(--or-surface); }
.or-cvmaster__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 4rem;
    align-items: start;
}
.or-cvmaster__main h2 { margin: 0 0 1rem; font-size: 1.6rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; }
.or-cvmaster__badge { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.or-status { color: var(--or-primary); font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.or-version {
    padding: .3rem .6rem;
    border: 1px solid var(--or-accent);
    border-radius: 999px;
    background: var(--or-primary-soft);
    color: var(--or-primary-strong);
    font: 600 .68rem/1 var(--or-mono);
    letter-spacing: .06em;
}
.or-cvmaster__main p { max-width: 460px; margin: 0 0 1.5rem; color: var(--or-text-muted); font-size: .86rem; }
.or-cvmaster__actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.or-cvmaster__side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.2rem; }
.or-cvmaster__group h3 { margin: 0 0 .7rem; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--or-primary); }
.or-cvmaster__group ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--or-border); }
.or-cvmaster__group li { padding: .55rem 0; border-bottom: 1px solid var(--or-border); font-size: .78rem; color: var(--or-text); }

.or-close { padding: 3.2rem 0; background: var(--or-primary-soft); }
.or-close__inner {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 2rem;
    align-items: center;
}
.or-close h2 { margin: 0 0 .4rem; font-size: 1.4rem; font-weight: 500; letter-spacing: -.02em; }
.or-close p { margin: 0; color: var(--or-text-muted); font-size: .84rem; }
.or-close__action { justify-self: end; }

.js [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .55s cubic-bezier(.22, .61, .36, 1), transform .55s cubic-bezier(.22, .61, .36, 1); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

.or-messages { padding-top: .8rem; }
.or-message { padding: .7rem .85rem; border: 1px solid var(--or-border); border-radius: var(--or-radius-sm); background: var(--or-surface); font-size: .78rem; }
.or-message.error { border-color: #e9caca; background: #fff7f7; color: #7d3434; }
.or-message.success { border-color: #c8ddd5; background: #f3faf7; color: #356554; }

.or-form-wrap { width: min(500px, calc(100% - 2.4rem)); margin: 1.4rem auto 2rem; }
.or-form-card { padding: 1rem; border: 1px solid var(--or-border); border-radius: var(--or-radius-lg); background: var(--or-surface); box-shadow: var(--or-shadow); }
.or-form-card h1 { font-size: 1.2rem; }
.or-field { display: grid; gap: .3rem; margin: .7rem 0; }
.or-field label,
body .form-group label { margin: 0; color: var(--or-secondary); font-size: .7rem; font-weight: 600; }
.or-field input,
.or-field textarea,
.or-field select,
body .form-control {
    min-height: 36px;
    width: 100%;
    padding: .5rem .65rem;
    border: 1px solid var(--or-border-strong);
    border-radius: var(--or-radius-sm);
    color: var(--or-text);
    background: var(--or-surface);
    box-shadow: none;
    font: 400 .79rem/1.4 Inter, "Segoe UI", Arial, sans-serif;
}
.or-field input:focus,
.or-field textarea:focus,
.or-field select:focus,
body .form-control:focus { border-color: var(--or-primary); box-shadow: 0 0 0 3px rgba(58, 110, 136, .12); outline: none; }
.or-form-actions { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-top: .9rem; }
.or-form-actions a { font-size: .74rem; }
.or-details { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--or-border); }
.or-details summary { color: var(--or-primary); cursor: pointer; font-size: .76rem; font-weight: 600; }
.or-support-box { margin: 1rem 0; padding: .8rem; border: 1px solid var(--or-border); border-radius: var(--or-radius); background: var(--or-primary-soft); }

/* Public account journey: carries the same calm, directional product language. */
.or-auth { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 470px); min-height: calc(100vh - var(--or-nav-h) - 54px); overflow: hidden; background: linear-gradient(120deg, #102a35 0%, #1d4a5d 50%, #eaf4fa 50%); }
.or-auth__signal { position: absolute; inset: 0 auto 0 0; width: 56%; overflow: hidden; pointer-events: none; }
.or-auth__signal i { position: absolute; display: block; width: 360px; height: 360px; border: 1px solid rgba(172,212,237,.20); border-radius: 50%; }
.or-auth__signal i:nth-child(1) { left: -155px; bottom: -185px; }.or-auth__signal i:nth-child(2) { left: 24%; top: 12%; width: 210px; height: 210px; border-color: rgba(172,212,237,.11); }.or-auth__signal i:nth-child(3) { right: -112px; bottom: 8%; width: 280px; height: 280px; border-color: rgba(172,212,237,.16); }
.or-auth__story { position: relative; z-index: 1; align-self: center; max-width: 590px; padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 8vw, 8rem); color: #edf8fc; }
.or-auth__story .or-eyebrow { color: #9fd5ea; }.or-auth__story h1 { margin: 0; color: #fff; font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: .98; letter-spacing: -.055em; }.or-auth__story h1 em { color: #a9d8ed; font-style: normal; }.or-auth__story p { max-width: 440px; margin: 1.35rem 0 0; color: rgba(237,248,252,.76); font-size: 1rem; line-height: 1.65; }
.or-auth__products { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.7rem; }.or-auth__products span { padding: .48rem .7rem; border: 1px solid rgba(172,212,237,.28); border-radius: 999px; color: #d9f1fb; background: rgba(255,255,255,.06); font-size: .74rem; font-weight: 600; }
.or-auth__proof { display: grid; gap: .55rem; margin: 1.6rem 0 0; padding: 0; list-style: none; color: #d9f1fb; font-size: .8rem; }.or-auth__proof li::before { content: "✓"; display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: .55rem; border-radius: 50%; color: #16465b; background: #a9d8ed; font-size: .68rem; font-weight: 700; }
.or-auth__panel { position: relative; z-index: 1; display: grid; place-items: center; padding: 2rem clamp(1.25rem, 5vw, 5rem); background: rgba(234,244,250,.94); }.or-auth__card { width: min(100%, 380px); padding: 1.7rem; border: 1px solid rgba(47,92,114,.13); border-radius: 20px 20px 20px 6px; background: rgba(255,255,255,.96); box-shadow: 0 24px 58px rgba(19,55,70,.15); }.or-auth__card h2 { margin: 0; color: var(--or-text); font-size: 1.65rem; letter-spacing: -.04em; }.or-auth__card .or-muted { margin: .5rem 0 1.25rem; font-size: .82rem; line-height: 1.5; }.or-auth__card .or-button { width: 100%; min-height: 42px; justify-content: center; }.or-auth__switch { margin: 1rem 0 0; color: var(--or-text-muted); font-size: .76rem; text-align: center; }.or-auth__switch a { color: var(--or-primary-strong); font-weight: 700; }.or-auth__names { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }.or-auth__names .or-field { min-width: 0; }

@media (max-width: 760px) { .or-auth { display: block; min-height: calc(100vh - var(--or-nav-h) - 54px); background: #eaf4fa; }.or-auth__signal { width: 100%; height: 310px; background: linear-gradient(135deg, #102a35, #24607a); }.or-auth__signal i:nth-child(2) { left: 60%; top: -46px; }.or-auth__story { padding: 2.4rem 1.35rem 2rem; }.or-auth__story h1 { font-size: clamp(2.2rem, 11vw, 3.5rem); }.or-auth__story p { font-size: .9rem; }.or-auth__panel { padding: 1.1rem 1.1rem 2.1rem; background: #eaf4fa; }.or-auth__card { width: 100%; max-width: 470px; padding: 1.3rem; }.or-auth__products, .or-auth__proof { margin-top: 1.15rem; } }
@media (max-width: 390px) { .or-auth__names { grid-template-columns: 1fr; gap: 0; } .or-auth__story { padding-top: 2rem; } }

.or-site-footer { padding: 1rem 0; border-top: 1px solid var(--or-border); color: var(--or-text-muted); background: var(--or-surface); font-size: .7rem; }
.or-footer-row { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.or-footer-row a { color: var(--or-text-muted); text-decoration: none; }

/* CV application shell: loaded after the legacy styles so behaviour stays intact. */
body.or-cv-app,
body.or-alchemy,
body.or-policy { color: var(--or-text); background: var(--or-page) !important; background-image: none !important; font-size: .82rem; }

body.or-cv-app .hdcont,
body.or-alchemy .hdcont {
    position: sticky;
    top: 0;
    z-index: 1020;
    width: 100%;
    min-height: 56px;
    padding: .65rem max(1.2rem, calc((100vw - var(--or-content)) / 2));
    border: 0;
    border-bottom: 1px solid var(--or-border);
    color: var(--or-text);
    background: rgba(255, 255, 255, .97);
}
body.or-cv-app .apphd,
body.or-alchemy .apphd { margin: 0; color: var(--or-text); font-size: 1rem; font-weight: 600; }
body.or-cv-app .text-shadow,
body.or-alchemy .text-shadow { color: var(--or-primary); font-size: .9rem; font-weight: 600; text-shadow: none; }
body.or-cv-app .text-shadow .highlight,
body.or-cv-app .text-shadow .normal,
body.or-alchemy .text-shadow .highlight,
body.or-alchemy .text-shadow .normal { color: inherit; font: inherit; text-shadow: none; }

body.or-cv-app .maincont {
    width: min(var(--or-content), calc(100% - 2.4rem));
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .9rem;
    margin: 1rem auto 4rem;
}
body.or-cv-app .buttonscont {
    position: sticky;
    top: 72px;
    align-self: start;
    max-width: none;
    display: grid;
    gap: .35rem;
}
body.or-cv-app .buttonscont a {
    min-height: 34px;
    margin: 0;
    padding: .5rem .65rem;
    border: 1px solid transparent;
    border-radius: var(--or-radius-sm);
    color: var(--or-text-muted);
    background: transparent;
    font-size: .72rem;
    font-weight: 500;
    text-align: left;
}
body.or-cv-app .buttonscont a:hover { color: var(--or-primary-strong); border-color: var(--or-border); background: var(--or-surface); text-decoration: none; }
body.or-cv-app .content-cont { width: auto; min-width: 0; border: 0; }
body.or-cv-app .or-apps-link { margin: .75rem 0 0 max(1.2rem, calc((100vw - var(--or-content)) / 2)); }
body.or-cv-app .topitems { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; align-items: stretch; }
body.or-cv-app .personal {
    min-width: 0;
    max-width: none;
    margin: 0 0 .7rem;
    padding: .85rem;
    border: 1px solid var(--or-border);
    border-radius: var(--or-radius);
    background: var(--or-surface);
    box-shadow: var(--or-shadow);
}
body.or-cv-app .personal h6,
body.or-cv-app .skillshd {
    margin: -.85rem -.85rem .7rem;
    padding: .6rem .8rem;
    border-bottom: 1px solid var(--or-border);
    color: var(--or-text);
    background: var(--or-surface-muted);
    font-size: .77rem;
    font-weight: 600;
}
body.or-cv-app .personal p,
body.or-cv-app .personal span { margin-left: 0; color: var(--or-text-muted); font-size: .75rem; }
body.or-cv-app .skills { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }

body.or-cv-app .table {
    width: 100%;
    margin-bottom: .75rem;
    border: 1px solid var(--or-border);
    border-radius: var(--or-radius);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    color: var(--or-text);
    background: var(--or-surface);
    font-size: .72rem;
}
body.or-cv-app .table th { padding: .52rem .6rem; border: 0; border-bottom: 1px solid var(--or-border); color: var(--or-secondary); background: var(--or-surface-muted); font-size: .68rem; font-weight: 600; }
body.or-cv-app .table td { padding: .55rem .6rem; border: 0; border-bottom: 1px solid #edf1f3; vertical-align: middle; }
body.or-cv-app .table tr:last-child td { border-bottom: 0; }
body.or-cv-app .table img { width: 15px !important; height: 15px !important; margin: 0 !important; opacity: .72; }

body.or-cv-app .cv-alchemy-button,
body.or-alchemy .cv-alchemy-button {
    right: 1rem;
    bottom: 1rem;
    padding: .62rem .9rem;
    border: 1px solid var(--or-primary);
    border-radius: 999px;
    color: #fff;
    background: var(--or-primary);
    box-shadow: 0 4px 14px rgba(47, 92, 114, .16);
    font-size: .74rem;
    font-weight: 600;
}
body.or-cv-app .cv-alchemy-button:hover,
body.or-alchemy .cv-alchemy-button:hover { background: var(--or-primary-strong); transform: translateY(-1px); }

body .modal-content { border: 1px solid var(--or-border); border-radius: var(--or-radius-lg); box-shadow: 0 14px 38px rgba(38, 50, 56, .12); overflow: hidden; }
body .modal-header { padding: .75rem .9rem; border-bottom: 1px solid var(--or-border); background: var(--or-surface-muted); }
body .modal-title { margin: 0; font-size: .88rem; font-weight: 600; }
body .modal-body { padding: .85rem .9rem; }
body .modal-footer { padding: .65rem .9rem; border-top: 1px solid var(--or-border); }

body.or-alchemy .cont { display: block; }
body.or-alchemy .content { width: min(var(--or-content), calc(100% - 2.4rem)); min-height: 0; margin: 1rem auto 4rem; padding: 0 !important; }
body.or-alchemy .content.pcdisplay { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: stretch; }
body.or-alchemy .content.pcdisplay > a,
body.or-alchemy .button-wrapper > a { width: 100%; display: block; margin: 0; }
body.or-alchemy .button-wrapper { display: contents; }
body.or-alchemy .circle { display: none; }
body.or-alchemy .content a { text-decoration: none; }
body.or-alchemy .custom-button_01,
body.or-alchemy .custom-button_03 {
    width: 100%;
    min-height: 118px;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--or-border) !important;
    border-radius: var(--or-radius) !important;
    color: var(--or-text);
    background: var(--or-surface) !important;
    box-shadow: var(--or-shadow);
    text-decoration: none;
    justify-content: flex-start;
    text-align: left;
}
body.or-alchemy .custom-button_01:hover,
body.or-alchemy .custom-button_03:hover { border-color: var(--or-accent) !important; background: var(--or-primary-soft) !important; }
body.or-alchemy .custom-button_01 h2,
body.or-alchemy .custom-button_03 h2 { font-size: .88rem; }
body.or-alchemy .custom-button_01 p,
body.or-alchemy .custom-button_03 p { margin: 0; color: var(--or-text-muted); font-size: .7rem; }
body.or-alchemy .custom-button_01 img,
body.or-alchemy .custom-button_03 img { width: 36px !important; height: 36px !important; object-fit: contain; opacity: .66; }
body.or-alchemy .half-circle,
body.or-alchemy .circle { opacity: .08; pointer-events: none; }

body.or-policy .container { width: min(850px, calc(100% - 2.4rem)); max-width: none; margin: 1.2rem auto; padding: 1.1rem; border: 1px solid var(--or-border); border-radius: var(--or-radius-lg); background: var(--or-surface); box-shadow: var(--or-shadow); }
body.or-policy h1 { padding-bottom: .65rem; border-bottom: 1px solid var(--or-border); font-size: 1.25rem; }
body.or-policy h2 { margin-top: 1rem; color: var(--or-primary-strong); font-size: .94rem; }
body.or-policy p,
body.or-policy li { color: var(--or-text-muted); font-size: .78rem; }

.fade-in { animation: orReveal 320ms ease both !important; }
@keyframes orReveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
    .or-show { height: auto; min-height: 0; }
    .or-show__slides { height: auto; }
    .or-show__inner { height: auto; min-height: clamp(430px, 62vh, 560px); padding: 1.8rem 0 4.75rem; }
    .or-show__grid { grid-template-columns: 1fr; gap: 1.2rem; align-items: start; }
    .or-show__num { font-size: 2.5rem; }
    .or-show__meta { flex-direction: row; align-items: center; gap: 1.2rem; }
    .or-intro__grid { grid-template-columns: 1fr; gap: 2rem; }
    .or-intro__side { width: 100%; margin-left: 0; flex-direction: row; gap: 1.5rem; }
    .or-intro__side > * { flex: 1 1 0; }
    .or-section-head, .or-close__inner { grid-template-columns: 1fr; gap: 1rem; }
    .or-section-head__note, .or-close__action { justify-self: start; text-align: left; max-width: none; }
    .or-practice__row { grid-template-columns: 1fr; gap: .4rem; }
    .or-practice__num { padding-top: 0; }
    .or-services { grid-template-columns: 1fr; }
    .or-cvmaster__grid { grid-template-columns: 1fr; gap: 2.2rem; }
    .or-cvmaster__side { grid-template-columns: 1fr; gap: 1.4rem; }
}

@media (max-width: 700px) {
    .or-show__index { display: none; }
    .or-show__dots { display: flex; }
}

@media (max-width: 820px) {
    .or-shell { width: min(100% - 1.5rem, var(--or-content)); }
    body.or-cv-app .maincont { width: min(100% - 1rem, var(--or-content)); grid-template-columns: 1fr; margin-top: .6rem; }
    body.or-cv-app .buttonscont { position: static; display: flex; max-width: 100%; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }
    body.or-cv-app .buttonscont a { flex: 0 0 auto; white-space: nowrap; }
    body.or-cv-app .topitems,
    body.or-cv-app .skills { display: grid; grid-template-columns: 1fr; }
    body.or-alchemy .content.pcdisplay { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    :root { --or-nav-h: 52px; }
    body { font-size: .82rem; }
    .or-nav { min-height: 52px; }
    .or-nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; }
    .or-nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: .5rem 1.2rem .9rem;
        border-bottom: 1px solid var(--or-border);
        background: var(--or-surface);
        box-shadow: 0 14px 28px rgba(38, 50, 56, .07);
    }
    .or-site-header.or-nav-open .or-nav-links { display: flex; }
    .or-nav-links a { padding: .62rem 0; font-size: .82rem; }
    .or-nav-links a:not(.or-button) { border-bottom: 1px solid var(--or-border); }
    .or-nav-links a:not(.or-button)::after { display: none; }
    .or-nav-links .or-button { justify-content: center; margin-top: .55rem; }
    .or-brand-mark { width: 28px; height: 28px; }
    .or-show__inner { min-height: 0; padding: 1.8rem 0 4.5rem; gap: 1.5rem; }
    .or-show__body h2 { font-size: 1.6rem; }
    .or-show__num { font-size: 2rem; }
    .or-show__progress { width: 72px; }
    .or-show__top { align-items: flex-start; }
    .or-show__btn { width: 42px; height: 42px; }
    .or-intro__side { flex-direction: column; gap: 1.4rem; }
    .or-section { padding: 2rem 0; }
    body.or-cv-app .hdcont { min-height: 50px; padding: .55rem .75rem; }
    body.or-cv-app .pcdisplay { display: none !important; }
    body.or-cv-app .mobiledisplay { display: flex !important; }
    body.or-alchemy .content.pcdisplay { display: none !important; }
    body.or-alchemy .content.mobiledisplay { width: min(100% - 1rem, var(--or-content)); display: grid !important; grid-template-columns: 1fr; gap: .6rem; }
    body.or-alchemy .content.mobiledisplay form { margin-bottom: .2rem; }
    body.or-alchemy .content.mobiledisplay .custom-button_01 { min-height: 92px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .js [data-reveal] { opacity: 1 !important; transform: none !important; }
}
