:root {
--page-bg: #f3f5f3;
--ink: #050505;
--muted: #343b42;
--accent: #e06536;
--header-height: 70px;
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
min-height: 100vh;
margin: 0;
background: var(--page-bg);
color: var(--ink);
font-family: "Redaction","Inter";
font-weight: 300;
}

/* -------------------- Header -------------------- */

.site-header {
position: relative;
z-index: 5;
width: 100%;
min-height: var(--header-height);
padding-inline: clamp(22px, 10vw, 165px);
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
background: rgba(255, 255, 255, 0.58);
}

.brand {
display: inline-flex;
align-items: center;
gap: 0;
min-height: 36px;
color: var(--ink);
font-family: "Cinzel", serif;
font-size: 20px;
letter-spacing: 0.045em;
line-height: 1;
text-decoration: none;
overflow: visible;
white-space: nowrap;

min-width: 175px;
flex-shrink: 0;

padding-right: 1rem;

/* background-color: #0d8ff0; */
}

.brand,
nav {
color: var(--ink);
font-size: 20px;
letter-spacing: 0.1em;
text-decoration: none;
font-family: "Cinzel";
}

.brand .logos {
background: linear-gradient(to right, #ff0088, #0d8ff0);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
}

.brand:hover {
color: var(--ink);
}

/* -------------------- Logo text animation -------------------- */

/* SHIVASHU */

.brand .logo {
display: inline-block !important;
position: relative;
max-width: 190px;
overflow: hidden;
white-space: nowrap;

margin-left: 7px;

opacity: 1;
clip-path: inset(0 0 0 0);

transition:
max-width 550ms cubic-bezier(0.76, 0, 0.24, 1),
clip-path 500ms cubic-bezier(0.76, 0, 0.24, 1),
opacity 300ms ease;
}

/* Full name */

.brand > span:nth-of-type(2) {
display: inline-block !important;

max-width: 0;
overflow: hidden;
white-space: nowrap;

margin-left: 0;

font-family: "Bricolage Grotesque", sans-serif;
font-size: 13px;
font-weight: 350;
letter-spacing: 0;

opacity: 0;
clip-path: inset(0 100% 0 0);

transition:
max-width 600ms cubic-bezier(0.76, 0, 0.24, 1),
clip-path 600ms cubic-bezier(0.76, 0, 0.24, 1),
opacity 250ms ease,
margin-left 450ms ease;
}

/* Hover or keyboard focus */

.brand:hover .logo,
.brand:focus-visible .logo {
max-width: 0;
opacity: 0;
clip-path: inset(0 100% 0 0);
}

.brand:hover > span:nth-of-type(2),
.brand:focus-visible > span:nth-of-type(2) {
max-width: 460px;
margin-left: 7px;

opacity: 1;
clip-path: inset(0 0 0 0);

transition-delay: 220ms, 220ms, 220ms, 220ms;
}

/* Small dot */

.brand > span:nth-of-type(3) {
display: inline-block !important;

width: 5px !important;
height: 5px !important;
flex: 0 0 5px;

margin-left: 7px !important;

background: #6a7ce5;
border-radius: 50%;
transform: translateY(1px);

opacity: 1;

transition:
width 250ms ease,
opacity 200ms ease,
margin-left 250ms ease;
}

.brand:hover > span:nth-of-type(3),
.brand:focus-visible > span:nth-of-type(3) {
width: 0 !important;
flex-basis: 0;
margin-left: 0 !important;
opacity: 0;
}

/* -------------------- Navigation -------------------- */

.header-links {
display: flex;
align-items: center;
gap: 30px;
}

.header-links a {
color: #333;
font-size: 16px;
text-decoration: none;
transition: color 180ms ease;
}

.header-links a:hover,
.header-links a:focus-visible {
color: var(--accent);
}

/* -------------------- Hero heading -------------------- */

.hero {
width: min(1200px, calc(100% - 44px));
margin-inline: auto;
padding: clamp(112px, 16vh, 160px) 0 90px;
}

.eyebrow {
display: inline-block;
margin: 0 0 8px;
padding: 7px 10px 9px;
background: var(--accent);
color: #fff;
font-size: clamp(20px, 3vw, 32px);
font-weight: 400;
line-height: 1.15;
font-family: "Bricolage Grotesque", sans-serif;
}

.wave-heading {
width: 100%;
margin: 0;
color: var(--ink);
font-family: "Bricolage Grotesque", sans-serif;
/* font-size: clamp(3rem, 7vw, 6.6rem); */
font-size: 6.6rem;
font-weight: 800;
line-height: 0.92;
white-space: normal;
}

.wave-heading__visual {
display: inline;
}

.wave-char {
display: inline-block;
white-space: pre;
font-weight: 400;
font-variation-settings:
"wght" 400,
"slnt" 0;
transform-origin: center bottom;
will-change: font-variation-settings;
}

.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

/* -------------------- About + portrait -------------------- */

.intro-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) 302px;
align-items: center;
column-gap: clamp(55px, 8vw, 115px);
/* margin-top: clamp(105px, 14vh, 145px); */
/* padding-bottom: 2rem; */
min-height: 100vh;
}

.intro-copy {
max-width: 690px;
/* color: #202020; */
color: #4b4b4b;
font-size: clamp(17px, 1.5vw, 18px);
line-height: 1.42;
}

.intro-copy p {
margin: 0 0 17px;
text-transform: lowercase; /* Sabhi words ko lowercase kar dega */
}
.intro-copy p::first-letter {
text-transform: uppercase; /* Sirf pehle word ke pehle letter ko Capital kar dega */
}

.intro-copy .intro-highlight {
color: var(--accent);
font-weight: 600;
}

/* -------------------- Contact / Email -------------------- */

.contact-row {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 13px;
margin-top: 35px;
color: var(--ink);
font-size: clamp(15px, 1.2vw, 18px);
width: fit-content;
padding-right: 1rem;
}

.contact-label {
white-space: nowrap;
}

.contact-arrow {
font-size: 23px;
line-height: 1;
transition:
transform 180ms ease,
color 180ms ease;
}

.contact-link {
color: var(--ink);
text-decoration: none;
overflow-wrap: anywhere;
transition: color 180ms ease;
}

.contact-link:hover,
.contact-link:focus-visible,
.contact-row:hover .contact-arrow {
color: var(--accent);
}

.contact-row:hover .contact-arrow {
transform: translateX(3px);
}

/* -------------------- Portrait Spotlight -------------------- */

.portrait-stage {
--spot-x: 9%;
--spot-y: 6%;
--spot-width: 38%;
--spot-height: 56%;

position: relative;
width: 100%;
aspect-ratio: 4 / 5;
overflow: hidden;
isolation: isolate;

border: 1px solid rgba(255, 255, 255, 0.9);
background: #dedede;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);

cursor: crosshair;
touch-action: none;
user-select: none;
-webkit-user-select: none;
}

.portrait-image {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 35%;
pointer-events: none;
opacity: 0;
transition: opacity 220ms ease;
}

.portrait-stage.has-image .portrait-image {
opacity: 1;
}

.portrait-image--blur {
z-index: 1;
filter: blur(7px);
transform: scale(1.045);
}

.portrait-image--sharp {
z-index: 2;
clip-path: inset(
var(--spot-y) calc(100% - var(--spot-x) - var(--spot-width))
calc(100% - var(--spot-y) - var(--spot-height)) var(--spot-x)
);
}

.spotlight-frame {
position: absolute;
z-index: 3;
top: var(--spot-y);
left: var(--spot-x);
width: var(--spot-width);
height: var(--spot-height);

display: grid;
place-items: center;

border: 1.5px solid rgba(255, 255, 255, 0.96);
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);

pointer-events: none;
transition: border-color 160ms ease;
}

.spotlight-plus {
position: relative;
display: block;
width: 26px;
height: 26px;
opacity: 0.9;
}

.spotlight-plus::before,
.spotlight-plus::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
background: #fff;
transform: translate(-50%, -50%);
}

.spotlight-plus::before {
width: 26px;
height: 1px;
}

.spotlight-plus::after {
width: 1px;
height: 26px;
}

.portrait-fallback {
position: absolute;
inset: 0;
z-index: 0;
display: grid;
place-items: center;
padding: 22px;
color: #626262;
background: linear-gradient(145deg, #e8e8e8, #cfcfcf);
text-align: center;
font-size: 14px;
line-height: 1.5;
}

.portrait-stage.has-image .portrait-fallback {
display: none;
}

.portrait-hint {
margin: 10px 0 0;
color: #777;
font-size: 11px;
text-align: right;
}

/* -------------------- Responsive -------------------- */

@media (max-width: 760px) {
:root {
--header-height: 64px;
}

.site-header {
padding-inline: 22px;
}

.brand {
font-size: 17px;
}

.brand > span:nth-of-type(2) {
font-size: 11px;
}

.header-links {
gap: 17px;
}

.header-links a {
font-size: 14px;
}

.hero {
padding-top: 105px;
}

.wave-heading {
font-size: clamp(2.8rem, 12vw, 5rem);
letter-spacing: -0.055em;
}

.intro-grid {
grid-template-columns: minmax(0, 1fr);
gap: 42px;
margin-top: 90px;
}

.intro-copy {
max-width: 100%;
}

.portrait-wrap {
width: min(302px, 82%);
margin-inline: auto;
}

.contact-row {
margin-top: 27px;
}
}

@media (max-width: 480px) {
.brand > span:nth-of-type(2) {
font-size: 9px;
}

.brand:hover > span:nth-of-type(2),
.brand:focus-visible > span:nth-of-type(2) {
max-width: calc(100vw - 190px);
}
}

/* -------------------- Reduced Motion -------------------- */

@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}

*,
*::before,
*::after {
transition-duration: 0.01ms !important;
}

.wave-char {
font-variation-settings:
"wght" 650,
"slnt" 0 !important;
}
}












/* I want body color same in whole site */

body,
header {
/* background-color: #fff9d0 !important; */
/* background-color: #ffe90012 !important; */
/* background-color: #fffbbbff !important; */
/* background-color: #fffdddff !important; */
/* background-color: #fffddd !important; */
/* background-color: white !important; */

background-color: #fbfbfb !important;
}