/* Rosewood Publisher — illustration inner service page */
.illustrations-service-page { overflow-x:clip; }
.illustrations-page { overflow:hidden; }

.illustrations-hero {
    min-height:760px;
    isolation:isolate;
    background:linear-gradient(118deg,#211214 0%,#542026 50%,#833a42 100%);
}

.illustrations-hero::before {
    z-index:-1;
    background:
        radial-gradient(circle at 78% 24%,rgba(245,195,145,.18),transparent 28%),
        linear-gradient(90deg,rgba(15,6,7,.45) 0%,rgba(25,8,10,.18) 47%,rgba(32,9,12,.02) 72%);
}

.illustrations-hero::after {
    position:absolute;
    z-index:1;
    top:0;
    bottom:0;
    left:0;
    width:63%;
    content:"";
    background:linear-gradient(90deg,#211214 4%,rgba(36,15,18,.97) 54%,rgba(49,18,22,.64) 77%,transparent 100%);
    pointer-events:none;
}

.illustrations-hero-grid {
    position:relative;
    z-index:3;
    display:grid;
    min-height:760px;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    align-items:center;
    padding-top:4rem;
    padding-bottom:4rem;
}

.illustrations-hero-copy { max-width:780px; }
.illustrations-hero-copy h1 { max-width:800px; }
.illustrations-hero-copy .gw-hero-text { max-width:650px; }

.illustrations-text-link {
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    color:#fff;
    font-weight:800;
}

.illustrations-text-link:hover { color:#f0c796; }

.illustrations-hero-art {
    position:absolute;
    z-index:0;
    top:0;
    right:-2.5vw;
    bottom:0;
    display:grid;
    width:min(59vw,980px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(.65rem,1vw,1rem);
    padding:clamp(.7rem,1.1vw,1.1rem);
    overflow:hidden;
    opacity:.92;
    transform:rotate(4deg) scale(1.08);
    transform-origin:center;
}

.illustrations-hero-column { min-width:0; overflow:hidden; }
.illustrations-hero-column-2 { transform:translateY(-110px); }
.illustrations-hero-stream { will-change:transform; animation:illustrationsHeroFlow 52s linear infinite; }
.illustrations-hero-column-2 .illustrations-hero-stream { animation-duration:60s; animation-direction:reverse; }
.illustrations-hero-set { display:grid; gap:clamp(.65rem,1vw,1rem); padding-bottom:clamp(.65rem,1vw,1rem); }

.illustrations-hero-set figure {
    height:clamp(170px,19vw,285px);
    margin:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    background:#321b1e;
    box-shadow:0 18px 42px rgba(14,3,5,.28);
}

.illustrations-hero-set img { width:100%; height:100%; object-fit:cover; }

@keyframes illustrationsHeroFlow {
    from { transform:translate3d(0,0,0); }
    to { transform:translate3d(0,-50%,0); }
}

.illustrations-intro { background:#fff; }

.illustrations-intro-grid {
    display:grid;
    grid-template-columns:minmax(390px,.94fr) minmax(0,1.06fr);
    align-items:center;
    gap:clamp(3rem,8vw,8rem);
}

.illustrations-intro-art {
    position:relative;
    min-height:650px;
}

.illustrations-intro-art::before {
    position:absolute;
    inset:8% 11% 6%;
    border:1px solid #d9c9c0;
    border-radius:49% 49% 22px 22px;
    content:"";
}

.illustrations-intro-card {
    position:absolute;
    margin:0;
    overflow:hidden;
    border-radius:14px;
    background:#eee6df;
    box-shadow:0 24px 60px rgba(54,28,28,.2);
}

.illustrations-intro-card img { width:100%; height:100%; object-fit:cover; }
.illustrations-intro-card-1 { z-index:2; top:0; left:4%; width:58%; height:62%; transform:rotate(-5deg); }
.illustrations-intro-card-2 { z-index:3; right:1%; bottom:2%; width:55%; height:58%; transform:rotate(5deg); }
.illustrations-intro-card-3 { z-index:1; bottom:7%; left:13%; width:48%; height:45%; transform:rotate(-1deg); }

.illustrations-intro-copy h2 { max-width:780px; }
.illustrations-intro-copy > p:not(.eyebrow) { max-width:720px; color:var(--muted); font-size:1.05rem; }

.illustrations-feature-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:2rem 0;
    border-top:1px solid var(--line);
}

.illustrations-feature-list span {
    padding:.9rem .2rem .9rem 1.25rem;
    border-bottom:1px solid var(--line);
    position:relative;
    font-size:.92rem;
    font-weight:750;
}

.illustrations-feature-list span::before {
    position:absolute;
    top:1.35rem;
    left:.15rem;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--rosewood);
    content:"";
}

.illustrations-arrow-link {
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    color:var(--rosewood);
    font-weight:850;
}

.illustrations-arrow-link:hover { color:var(--rosewood-dark); }
.illustrations-services { background:var(--soft); }
.illustrations-service-grid .gw-service-card:nth-child(1),
.illustrations-service-grid .gw-service-card:nth-child(6) { color:#fff; background:var(--rosewood); }
.illustrations-service-grid .gw-service-card:nth-child(1) > span,
.illustrations-service-grid .gw-service-card:nth-child(6) > span { color:#efc494; }
.illustrations-service-grid .gw-service-card:nth-child(1) p,
.illustrations-service-grid .gw-service-card:nth-child(6) p { color:rgba(255,255,255,.76); }

.illustrations-gallery {
    position:relative;
    color:#fff;
    background:#211918;
}

.illustrations-gallery::before {
    position:absolute;
    inset:0;
    content:"";
    background:radial-gradient(circle at 12% 16%,rgba(140,58,65,.28),transparent 34%);
    pointer-events:none;
}

.illustrations-gallery-heading {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
    align-items:end;
    gap:clamp(2rem,8vw,8rem);
    margin-bottom:2.2rem;
}

.illustrations-gallery-heading h2 { max-width:780px; margin:0; color:#fff; }
.illustrations-gallery-heading .eyebrow { color:#efc494; }
.illustrations-gallery-heading > div:last-child > p { margin:0; color:rgba(255,255,255,.7); }

.illustrations-gallery-controls { display:flex; gap:.65rem; margin-top:1.35rem; }
.illustrations-gallery-controls button {
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    color:#fff;
    background:transparent;
    cursor:pointer;
    transition:color .2s ease,background-color .2s ease,transform .2s ease;
}
.illustrations-gallery-controls button:hover { color:#241617; background:#efc494; transform:translateY(-2px); }

.illustrations-gallery-shell { position:relative; z-index:1; }
.illustrations-gallery-viewport {
    overflow:hidden;
    cursor:grab;
    touch-action:pan-y;
    user-select:none;
    outline:none;
}
.illustrations-gallery-viewport:focus-visible { box-shadow:inset 0 0 0 2px #efc494; }
.illustrations-gallery-viewport.is-dragging { cursor:grabbing; }
.illustrations-gallery-track { display:flex; width:max-content; gap:14px; will-change:transform; }
.illustrations-gallery-set {
    display:grid;
    width:max-content;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,160px);
    grid-auto-columns:220px;
    gap:14px;
}

.illustrations-gallery-item {
    position:relative;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    background:#f2ece7;
}
.illustrations-gallery-item img { width:100%; height:100%; object-fit:contain; background:#f4eee8; pointer-events:none; }

.illustrations-process { background:#fff; }

.illustrations-standards {
    color:#fff;
    background:linear-gradient(118deg,#2c171a 0%,#68282f 56%,#873e45 100%);
}

.illustrations-standards-grid {
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:clamp(3rem,8vw,8rem);
    align-items:start;
}
.illustrations-standards-grid > div:first-child { position:sticky; top:120px; }
.illustrations-standards h2 { color:#fff; }
.illustrations-standards .eyebrow { color:#efc494; }
.illustrations-standards-grid > div:first-child > p:not(.eyebrow) { color:rgba(255,255,255,.74); }
.illustrations-standards-list { border-top:1px solid rgba(255,255,255,.2); }
.illustrations-standards-list article {
    display:grid;
    grid-template-columns:70px 1fr;
    gap:1.2rem;
    padding:1.65rem 0;
    border-bottom:1px solid rgba(255,255,255,.2);
}
.illustrations-standards-list article > span { color:#efc494; font-family:Georgia,"Times New Roman",serif; font-size:1.8rem; }
.illustrations-standards-list h3 { margin:0 0 .45rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.illustrations-standards-list p { margin:0; color:rgba(255,255,255,.7); }
.illustrations-faq { background:var(--soft); }
.illustrations-final-cta { background:#241718; }

@media (max-width:1280px) {
    .illustrations-hero,.illustrations-hero-grid { min-height:690px; }
    .illustrations-hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); }
    .illustrations-hero-copy h1 { font-size:clamp(3.55rem,5.5vw,5.5rem); }
    .illustrations-hero-art { width:min(58vw,760px); }
    .illustrations-intro-grid { grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr); gap:clamp(2.5rem,5vw,5rem); }
    .illustrations-intro-art { min-height:560px; }
}

@media (max-width:980px) {
    .illustrations-hero { min-height:auto; }
    .illustrations-hero::after { width:100%; height:66%; background:linear-gradient(180deg,#211214 8%,rgba(37,14,17,.96) 66%,rgba(44,16,20,.54) 86%,transparent); }
    .illustrations-hero-grid { min-height:auto; grid-template-columns:1fr; align-items:start; padding-top:3rem; padding-bottom:clamp(27rem,60vw,37rem); }
    .illustrations-hero-copy { max-width:760px; }
    .illustrations-hero-art { top:auto; right:-3%; bottom:-70px; left:-3%; width:106%; height:clamp(410px,58vw,560px); transform:rotate(2deg) scale(1.03); }
    .illustrations-hero-set figure { height:clamp(150px,22vw,230px); }
    .illustrations-intro-grid,.illustrations-standards-grid,.illustrations-gallery-heading { grid-template-columns:1fr; }
    .illustrations-intro-art { width:min(100%,620px); margin-inline:auto; }
    .illustrations-standards-grid > div:first-child { position:static; }
    .illustrations-gallery-heading { align-items:start; }
}

@media (max-width:760px) {
    .illustrations-hero-grid { padding-top:2.4rem; padding-bottom:24rem; }
    .illustrations-hero-copy h1 { font-size:clamp(3rem,14vw,4.4rem); }
    .illustrations-hero-art { height:390px; }
    .illustrations-hero-set figure { height:160px; }
    .illustrations-intro-art { min-height:470px; }
    .illustrations-feature-list { grid-template-columns:1fr; }
    .illustrations-gallery-set { grid-template-rows:repeat(2,125px); grid-auto-columns:170px; gap:10px; }
    .illustrations-gallery-track { gap:10px; }
    .illustrations-standards-list article { grid-template-columns:48px 1fr; }
}

@media (max-width:480px) {
    .illustrations-hero-grid { padding-bottom:20rem; }
    .illustrations-hero-art { right:-12%; left:-12%; width:124%; height:330px; gap:8px; }
    .illustrations-hero-set { gap:8px; padding-bottom:8px; }
    .illustrations-hero-set figure { height:135px; border-radius:9px; }
    .illustrations-intro-art { min-height:390px; }
    .illustrations-intro-card-1 { left:1%; width:63%; }
    .illustrations-intro-card-2 { right:0; width:61%; }
    .illustrations-intro-card-3 { left:8%; width:52%; }
    .illustrations-gallery-set { grid-template-rows:repeat(2,112px); grid-auto-columns:150px; }
}

@media (prefers-reduced-motion:reduce) {
    .illustrations-hero-stream { animation-play-state:paused; }
}
