/* Internal pages follow the reference grid, Aeonik typography, pill controls and scroll rhythm. */
.ideal-inner{color:var(--color-black);position:relative}
.ideal-inner-hero{padding:clamp(160px,16vw,290px) var(--base-padding-x) 6vw;position:relative}
.ideal-inner-meta{display:flex;justify-content:space-between;align-items:center;font:12px/1.4 IBMPlexMono,monospace;text-transform:uppercase;margin-bottom:4.5vw;letter-spacing:.035em}
.ideal-inner-meta span:last-child{max-width:30ch;text-align:right}
.ideal-inner-hero h1{font-weight:400;font-size:clamp(64px,12.1vw,230px);line-height:.91;letter-spacing:-.065em;max-width:100%;margin:0}
.ideal-inner-hero h1 span{display:block}.ideal-inner-hero h1 .ideal-title-offset{padding-left:15vw}
.ideal-inner-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:start;margin-top:4.5vw}
.ideal-inner-intro .ideal-index{font:14px/1.4 IBMPlexMono,monospace;grid-column:1/4;display:flex;gap:18px;align-items:center}.ideal-index i{display:inline-block;width:11px;height:11px;border-radius:50%;background:#7000ff}
.ideal-inner-intro>div:last-child{grid-column:7/13}.ideal-inner-intro p{font-size:clamp(19px,1.7vw,32px);line-height:1.35;margin:0 0 28px;max-width:35ch;letter-spacing:-.025em}
.ideal-pill{display:inline-flex;align-items:center;gap:35px;padding:19px 27px;border-radius:99px;background:var(--color-black);color:var(--color-off-white);font-size:14px;line-height:1;transition:background .25s,transform .25s}.ideal-pill:hover{background:#7000ff;transform:translateY(-2px)}.ideal-pill b{font-weight:400;font-size:22px}.ideal-pill-light{background:var(--color-off-white);color:var(--color-black)}
.ideal-inner-media{position:relative;margin:0 var(--base-padding-x);border-radius:var(--global-border-radius);overflow:hidden;aspect-ratio:16/9;background:#10131b}
.ideal-inner-media video,.ideal-inner-media>img{height:100%;width:100%;object-fit:cover;display:block}
.ideal-media-caption{position:absolute;bottom:24px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;font:12px/1.4 IBMPlexMono,monospace;color:white;text-shadow:0 1px 5px #000;pointer-events:none}
.ideal-manifesto{position:relative;padding:10vw var(--base-padding-x) 8vw;overflow:hidden}
.ideal-manifesto h2{position:relative;z-index:1;font-size:clamp(42px,6.6vw,126px);font-weight:400;line-height:1.04;letter-spacing:-.04em;max-width:14ch;margin:0 0 6vw}
.ideal-manifesto>p{position:relative;z-index:1;margin:0 0 0 51%;font-size:clamp(19px,1.6vw,29px);line-height:1.45;max-width:35ch}
.ideal-drawn-line{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none;overflow:visible;opacity:.9}.ideal-drawn-line path{fill:none;stroke:#7000ff;stroke-width:3;vector-effect:non-scaling-stroke}
.ideal-editorial-rows{padding:2vw var(--base-padding-x) 8vw}.ideal-row{display:grid;grid-template-columns:1fr 4fr 5fr;gap:4vw;padding:44px 0 54px;border-top:1px solid #10131b35;align-items:start}.ideal-row-no{font:12px/1.5 IBMPlexMono,monospace}.ideal-row h3{font-weight:400;font-size:clamp(27px,3.5vw,62px);letter-spacing:-.045em;line-height:1.05;margin:0}.ideal-row p{font-size:clamp(17px,1.25vw,24px);line-height:1.5;margin:0;max-width:45ch}.ideal-row a{display:inline-flex;gap:24px;margin-top:25px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:8px}
.ideal-next-story{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:1vw var(--base-padding-x) 10vw;align-items:center}.ideal-next-story img{display:block;width:100%;border-radius:var(--global-border-radius)}.ideal-next-story h2{font-size:clamp(36px,4.5vw,88px);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:25px 0}.ideal-next-story p{font-size:clamp(18px,1.4vw,26px);line-height:1.45;max-width:33ch;margin:0 0 30px}
.ideal-overline{font:12px/1.5 IBMPlexMono,monospace;text-transform:uppercase;letter-spacing:.04em}
.ideal-contact-lines{padding:0 var(--base-padding-x) 7vw}.ideal-contact-line{padding:32px 0;border-top:1px solid #10131b35;display:flex;justify-content:space-between;gap:22px;align-items:center}.ideal-contact-line span{font:12px/1.5 IBMPlexMono,monospace;text-transform:uppercase;min-width:110px}.ideal-contact-line a{font-size:clamp(23px,3.8vw,70px);line-height:1.25;letter-spacing:-.045em;overflow-wrap:anywhere}.ideal-contact-line a:hover{color:#7000ff}.ideal-contact-note{padding-top:35px;font:13px/1.6 IBMPlexMono,monospace;max-width:48ch}
.ideal-inner #ideal-studio{--color-blue:#253bff}.ideal-studio-details{padding:10vw var(--base-padding-x);background:var(--color-off-white);color:var(--color-black)}.ideal-studio-details h2{font-size:clamp(44px,7vw,132px);line-height:1.02;letter-spacing:-.05em;font-weight:400;margin:0 0 60px;max-width:16ch}.ideal-studio-details p{margin:0 0 24px auto;max-width:35ch;font-size:clamp(20px,1.8vw,33px);line-height:1.4}
.ideal-menu-services{display:flex;flex-direction:column;gap:12px;margin-top:30px}.ideal-menu-services a{font-size:clamp(18px,1.5vw,27px);line-height:1.3;transition:color .2s}.ideal-menu-services a:hover{color:var(--color-green)}.ideal-menu-services span{font:10px/1.4 IBMPlexMono,monospace;text-transform:uppercase;opacity:.55;margin-bottom:4px}
#header-menu-newsletter-title{font-size:clamp(26px,2.8vw,48px)}
@media(max-width:812px){
 .ideal-inner-hero{padding-top:155px;padding-bottom:55px}.ideal-inner-meta{font-size:10px;margin-bottom:55px;gap:20px}.ideal-inner-meta span:last-child{max-width:18ch}
 .ideal-inner-hero h1{font-size:14.1vw;letter-spacing:-.055em;line-height:.98}.ideal-inner-hero h1 .ideal-title-offset{padding-left:6vw}
 .ideal-inner-intro{grid-template-columns:1fr;margin-top:45px;gap:24px}.ideal-inner-intro .ideal-index,.ideal-inner-intro>div:last-child{grid-column:auto}.ideal-inner-intro .ideal-index{font-size:11px}.ideal-inner-intro p{font-size:22px;max-width:29ch}
 .ideal-inner-media{aspect-ratio:1/1}.ideal-media-caption{font-size:9px;left:18px;right:18px;bottom:18px}
 .ideal-manifesto{padding-top:85px;padding-bottom:65px}.ideal-manifesto h2{font-size:12vw;margin-bottom:50px}.ideal-manifesto>p{margin-left:15%;font-size:21px;max-width:26ch}.ideal-drawn-line{opacity:.5}
 .ideal-editorial-rows{padding-bottom:60px}.ideal-row{grid-template-columns:30px 1fr;gap:20px 18px;padding:28px 0 35px}.ideal-row h3{font-size:32px}.ideal-row>div:last-child{grid-column:2}.ideal-row p{font-size:17px}
 .ideal-next-story{grid-template-columns:1fr;gap:35px;margin-bottom:80px}.ideal-next-story h2{font-size:11vw;margin:18px 0}.ideal-next-story p{font-size:20px}
 .ideal-contact-lines{padding-bottom:70px}.ideal-contact-line{align-items:flex-start;flex-direction:column;padding:24px 0;gap:12px}.ideal-contact-line a{font-size:7.5vw}.ideal-contact-line span{font-size:10px}
 .ideal-studio-details{padding-top:70px;padding-bottom:70px}.ideal-studio-details h2{font-size:12vw;margin-bottom:45px}.ideal-studio-details p{font-size:21px;max-width:28ch}
 .ideal-menu-services{gap:8px;margin-top:20px}.ideal-menu-services a{font-size:16px}#header-menu-newsletter-title{font-size:26px}
}
@media(prefers-reduced-motion:reduce){[data-ideal-reveal]{transform:none!important;opacity:1!important}.ideal-pill{transition:none}}

.ideal-inner .ideal-pill,.ideal-inner .ideal-pill:hover{color:var(--color-off-white)}
/* Keep every destination visible; the reference hides its newsletter on short screens. */
#header-menu-newsletter{display:block!important;padding:1.25em 1.875em}
#header-menu-newsletter-title,#header-menu-newsletter-input{display:none!important}
.ideal-menu-services{margin-top:0;gap:10px}.ideal-menu-services a{font-size:clamp(16px,1.2vw,22px)}
#header-menu{max-height:calc(100dvh - var(--base-padding-y) - var(--header-size) * 3.1 - 1em);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:4px}
#header-menu::-webkit-scrollbar{display:none}#header-menu>*{flex-shrink:0}#header-menu.--opened{pointer-events:auto}
