/* Editorial chapters extend the existing hero; hero rules remain in styles.css. */
html { scroll-behavior:smooth; }
section[id],footer[id] { scroll-margin-top:100px; }
a.button,a.nav-link,.index-row,.service-progress a,.site-footer a,.mobile-menu>a { text-decoration:none; }
.outline-text { font-family:EditorialOutline,Montserrat,sans-serif;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #eee; }
.title-mask { display:block; }.title-mask>span { display:inline-block; }
.services-index { position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:140px var(--pad) 130px;border-top:1px solid #242424;isolation:isolate; }
.index-intro h2 { font:900 clamp(40px,4.2vw,84px)/.96 Montserrat,sans-serif;letter-spacing:-.055em;margin:35px 0; }
.index-intro>p:not(.eyebrow) { color:#aaa;max-width:330px;font-size:16px;line-height:1.7; }
.index-coordinate { display:block;margin-top:55px;font-size:8px;letter-spacing:.2em;color:#777; }
.index-list { position:relative;padding-top:33px; }
.index-row { position:relative;display:grid;grid-template-columns:35px 1fr 85px 24px;gap:15px;align-items:center;min-height:145px;padding:20px 0;color:white; }
.index-row::before { content:'';position:absolute;inset:0 -20px;background:radial-gradient(ellipse at 65% 50%,var(--index-accent),transparent 75%);opacity:0;transition:opacity .6s;z-index:-1; }
.index-row:hover::before,.index-row:focus-visible::before { opacity:.25; }
.index-number { color:transparent;-webkit-text-stroke:.6px #888;font:900 24px Montserrat,sans-serif;transition:color .5s; }
.index-name { font-size:clamp(17px,1.65vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.15;transition:transform .6s var(--ease); }
.index-thumb { display:block;width:85px;height:74px;overflow:hidden;transform:rotate(var(--preview-angle));transition:transform .6s var(--ease); }
.index-thumb img { width:100%;height:100%;object-fit:cover;transition:transform .8s; }
.index-arrow { font-size:26px;transition:transform .5s; }.index-rule { position:absolute;left:0;right:0;bottom:0;height:1px;background:#ffffff35;transform-origin:left; }
.index-row:hover .index-number,.index-row:focus-visible .index-number { color:white;-webkit-text-stroke:0; }
.index-row:hover .index-arrow { transform:translate(4px,-4px); }.index-row:hover .index-name { transform:translateX(5px); }
.index-row:nth-child(2):hover .index-name { transform:translateX(-3px); }.index-row:nth-child(3):hover .index-thumb { transform:rotate(-5deg) scale(1.05); }.index-row:nth-child(4):hover .index-thumb { transform:rotate(1deg) scale(1.04); }
.index-row:hover .index-thumb img { transform:scale(1.1); }
.index-floating { position:absolute;top:10%;left:-13%;width:230px;height:295px;pointer-events:none;z-index:8;opacity:0;transform:rotate(-8deg);clip-path:url(#stage-cabina); }
.index-floating img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0; }
.service-chapters { position:relative; }
.service-chapter { position:relative;min-height:850px;height:110svh;isolation:isolate;overflow:clip;padding:90px var(--pad);border-top:1px solid #ffffff10; }
.chapter-atmosphere { position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 65% 50%,var(--chapter-accent),transparent 65%);opacity:.13;pointer-events:none; }
.chapter-watermark { position:absolute;left:2%;bottom:10%;font:900 26vw/.8 Montserrat,sans-serif;letter-spacing:-.1em;color:#ffffff04;z-index:-1;pointer-events:none; }
.chapter-eyebrow { position:relative;z-index:7;display:flex;align-items:center;gap:24px; }
.chapter-eyebrow>span { font-size:10px;letter-spacing:.12em;color:#aaa; }
.chapter-title { position:absolute;left:var(--pad);right:var(--pad);top:23%;font:900 clamp(72px,8.2vw,158px)/.88 Montserrat,sans-serif;letter-spacing:-.057em;margin:0;z-index:4;pointer-events:none; }
.chapter-title::before { content:'';position:absolute;inset:-12% -8% -16% -12%;background:radial-gradient(ellipse at 33% 50%,#000a,transparent 70%);z-index:-1;filter:blur(16px);pointer-events:none; }
.chapter-cabina .chapter-title .title-mask:last-child { font-size:.73em;margin-top:.08em; }
.chapter-visual { position:absolute;top:10%;right:-2%;height:80%;width:53%;z-index:2; }
.chapter-plate { position:absolute;inset:0;transform:rotate(5deg);overflow:hidden;background:#050505; }
.chapter-plate>img,.chapter-plate>video { width:100%;height:100%;object-fit:cover;display:block; }
.visual-coordinate { position:absolute;bottom:5%;left:12%;padding:7px;font-size:8px;letter-spacing:.18em;color:#ddd;background:#050505b0;pointer-events:none;z-index:3; }
.chapter-copy { position:absolute;left:var(--pad);bottom:11%;width:360px;z-index:6; }
.chapter-copy::before { content:'';position:absolute;inset:-25px -40px;background:radial-gradient(ellipse,#050505d9,transparent 75%);z-index:-1;pointer-events:none; }
.chapter-copy>p { color:#c0c0c0;font-size:15px;line-height:1.8;margin:0 0 22px; }
.service-chapter .chapter-link { display:inline-flex;align-items:center;background:transparent;min-height:48px;padding:12px 0;letter-spacing:.15em; }
.chapter-detail { position:absolute;left:42%;bottom:9%;width:130px;height:160px;z-index:5;transform:rotate(-7deg); }
.chapter-detail>button:not(.video-play) { padding:0;display:block;width:100%;height:100%;background:transparent;clip-path:url(#stage-love); }
.chapter-detail img,.chapter-detail video { width:100%;height:100%;object-fit:cover;display:block; }
.detail-label { position:absolute;bottom:-24px;left:0;font-size:7px;letter-spacing:.16em;color:#999;white-space:nowrap; }
.chapter-bottomline { position:absolute;bottom:30px;left:var(--pad);right:var(--pad);display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:.13em;color:#777;z-index:6; }
.chapter-bottomline i { height:1px;flex:1;background:#ffffff20;transform-origin:left; }
.chapter-360 { height:115svh; }
.chapter-360 .chapter-visual { top:8%;left:13%;right:0;width:82%;height:78%; }.chapter-360 .chapter-plate { transform:rotate(-3deg); }
.chapter-360 .chapter-title { top:18%;font-size:clamp(110px,13.5vw,250px);line-height:.84; }
.chapter-360 .chapter-title::before { background:radial-gradient(ellipse at 25% 50%,#0008,transparent 75%); }
.chapter-360 .chapter-copy { left:auto;right:9%;bottom:8%;width:390px; }
.chapter-360 .chapter-detail { left:var(--pad);bottom:10%;width:clamp(280px,23vw,360px);height:clamp(185px,15.5vw,240px);transform:rotate(4deg); }
.chapter-360 .visual-coordinate { top:12%;left:auto;right:10%;bottom:auto; }
.chapter-360 .video-play { left:auto;right:6%;bottom:13%;transform:none; }
.chapter-tunel { height:120svh; }
.chapter-tunel .chapter-visual { width:94%;height:auto;aspect-ratio:1672/941;left:3%;right:auto;top:20%; }
.chapter-tunel .chapter-plate { transform:rotate(0deg);background:transparent; }
.chapter-tunel .chapter-title { top:14%;font-size:clamp(65px,7.8vw,150px); }
.chapter-tunel .chapter-title .title-mask:nth-child(2) { margin-left:14%; }
.chapter-tunel .chapter-title .title-mask:last-child { margin-left:23%; }
.chapter-tunel .chapter-copy { left:54%;bottom:9%;width:370px; }
.chapter-tunel .chapter-detail { left:10%;bottom:8%;width:clamp(260px,21vw,330px);height:clamp(345px,28vw,440px);transform:rotate(-3deg); }
.chapter-detail-video .detail-media { position:relative;width:100%;height:100%;overflow:hidden;clip-path:url(#stage-tunel-video); }
.chapter-tunel .chapter-detail video { object-position:50% 65%;transform:translateY(-3%) scale(1.08); }
.chapter-tunel .detail-label { left:12%;bottom:-26px;color:#bbb; }
.chapter-tunel .chapter-detail .video-play { bottom:16%;font-size:8px;padding:10px 12px; }
.chapter-tunel .visual-coordinate { left:8%;bottom:10%; }
.chapter-love { height:112svh; }
.chapter-love .chapter-title { left:29%;top:13%;font-size:clamp(62px,7.1vw,138px); }
.chapter-love .chapter-title .title-mask:last-child { font-size:.85em; }
.chapter-love .chapter-visual { left:-6%;top:31%;width:76%;height:57%;right:auto; }.chapter-love .chapter-plate { transform:rotate(-5deg); }
.chapter-love .chapter-copy { left:auto;right:var(--pad);bottom:8%;width:350px; }
.chapter-love .chapter-detail { left:auto;right:7%;top:auto;bottom:30%;width:clamp(165px,15vw,235px);height:clamp(215px,19vw,300px);transform:rotate(5deg); }
.chapter-love .chapter-detail img { object-position:50% 75%; }
.service-progress { position:fixed;right:18px;top:45%;display:flex;flex-direction:column;gap:25px;z-index:35;opacity:0;pointer-events:none;transition:opacity .4s; }
.service-progress.is-visible { opacity:1;pointer-events:auto; }.service-progress a { color:#666;font-size:10px;letter-spacing:.1em;padding:3px; }.service-progress a[aria-current=true] { color:white; }
.service-progress i { position:absolute;width:1px;background:#777;top:0;bottom:0;left:-10px;transform:scaleY(var(--chapter-progress,0));transform-origin:top; }
.gallery-teaser { position:relative;height:118svh;min-height:1000px;overflow:clip;isolation:isolate;border-top:1px solid #222; }
.gallery-collage { position:absolute;inset:0; }.teaser-piece { position:absolute;margin:0;z-index:1;--piece-angle:0deg; }
.teaser-piece button { display:block;width:100%;height:100%;padding:0;background:transparent;clip-path:url(#stage-cabina);transform:rotate(var(--piece-angle));overflow:hidden; }
.teaser-piece img { display:block;width:100%;height:100%;object-fit:cover; }
.teaser-piece figcaption { font-size:7px;letter-spacing:.13em;position:absolute;bottom:-23px;left:10%;color:#888;pointer-events:none; }
.teaser-piece-1 { left:-4%;top:5%;width:27%;height:54%;--piece-angle:-9deg; }.teaser-piece-2 { right:-3%;top:10%;width:25%;height:42%;--piece-angle:8deg; }.teaser-piece-2 button { clip-path:url(#stage-360); }
.teaser-piece-3 { left:47%;top:2%;width:26%;height:25%;--piece-angle:-5deg; }.teaser-piece-3 button { clip-path:url(#stage-love); }
.teaser-piece-4 { left:4%;bottom:2%;width:28%;height:25%;--piece-angle:9deg; }.teaser-piece-5 { right:0;bottom:1%;width:25%;height:36%;--piece-angle:-6deg; }
.teaser-piece-6 { left:36%;top:62%;width:15%;height:21%;--piece-angle:-9deg; }.teaser-piece-7 { left:27%;top:8%;width:14%;height:19%;--piece-angle:5deg; }.teaser-piece-8 { left:60%;bottom:23%;width:17%;height:21%;--piece-angle:7deg; }
.teaser-copy { position:absolute;left:var(--pad);right:var(--pad);top:29%;z-index:5;pointer-events:none; }
.teaser-copy::before { content:'';position:absolute;inset:-15% -10% -30% -15%;background:radial-gradient(ellipse at 34% 50%,#000c,transparent 72%);filter:blur(20px);z-index:-1; }
.teaser-copy h2 { font:900 clamp(80px,9vw,175px)/.88 Montserrat,sans-serif;letter-spacing:-.055em;margin:24px 0 30px; }
.teaser-copy h2>.title-mask:first-child { font-size:.58em; }
.teaser-description { font-size:15px;line-height:1.7;color:#bbb;max-width:320px;margin:25px 0; }
.teaser-copy .button { pointer-events:auto; }.teaser-meta { position:absolute;bottom:28px;right:var(--pad);font-size:8px;letter-spacing:.2em;color:#999;z-index:5; }
.archive-disclosure { padding:0 var(--pad);background:#070707; }.archive-disclosure>summary { list-style:none;display:flex;justify-content:space-between;border-top:1px solid #333;padding:25px 0;font-size:10px;letter-spacing:.13em;color:#aaa;cursor:pointer;min-height:55px; }.archive-disclosure>summary::-webkit-details-marker { display:none; }.archive-disclosure .visual-journal { padding:50px 0 70px;border:0; }
.contact-editorial { position:relative;min-height:115svh;padding:130px var(--pad) 110px;display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;isolation:isolate;overflow:clip; }
.contact-ambient { position:absolute;inset:0;z-index:-2;opacity:.13;filter:blur(18px);mask-image:radial-gradient(ellipse at 40% 50%,#000,transparent 85%); }
.contact-ambient img { width:100%;height:100%;object-fit:cover; }.contact-editorial::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0505056b,#050505dc);pointer-events:none; }
.contact-grain { position:absolute;inset:0;pointer-events:none;opacity:.018;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E"); }
.contact-intro h2 { font:900 clamp(58px,6.5vw,126px)/.87 Montserrat,sans-serif;letter-spacing:-.055em;margin:42px 0 35px; }
.contact-intro h2>.title-mask:last-child { font-size:.7em;margin-top:.06em; }.contact-intro>p:not(.eyebrow) { color:#b0b0b0;max-width:335px;font-size:16px;line-height:1.7; }
.contact-micro { display:flex;gap:18px 25px;flex-wrap:wrap;max-width:365px;margin-top:70px;align-items:center;font-size:8px;letter-spacing:.12em;color:#969696; }.contact-micro i { height:1px;width:55px;background:#555; }
.contact-form { position:relative;z-index:3;max-width:510px;gap:26px;width:100%; }.contact-question { margin:0;padding:0;border:0;min-width:0;display:block; }
.question-label { font-size:10px;letter-spacing:.13em;color:#b1b1b1;display:block;margin-bottom:14px;line-height:1.5; }.question-label b { font-weight:400;color:#666;margin-right:18px;transition:color .4s; }.contact-question.is-complete .question-label b,.contact-question:focus-within .question-label b { color:white; }
.contact-form input:not([type=checkbox]),.contact-form textarea { background:transparent;border:0;border-bottom:1px solid #ffffff35;border-radius:0;font-size:18px;padding:8px 0 14px;min-height:52px;color:white; }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#777; }
.chip-hint { font-size:8px;color:#777;letter-spacing:.1em;margin:0 0 13px; }.service-chips { display:flex;gap:9px;flex-wrap:wrap; }.service-chip { position:relative;display:block;cursor:pointer; }.service-chip input { position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;clip-path:inset(50%); }
.service-chip>span { display:flex;align-items:center;justify-content:center;padding:10px 15px;min-height:44px;border:1px solid #ffffff40;border-radius:30px;font-size:10px;letter-spacing:.04em;color:#bbb;transition:background .35s,color .35s,border-color .35s; }
.service-chip input:checked+span { color:#080808;background:#f7f7f5;border-color:#f7f7f5; }.service-chip input:focus-visible+span { outline:2px solid white;outline-offset:4px; }
.contact-form .button { width:100%;max-width:350px;gap:25px; }.contact-form .form-note { max-width:390px;line-height:1.7; }
.copy-quote { background:transparent;font-size:9px;letter-spacing:.15em;color:#aaa;padding:10px 0; }.quote-fallback #quote-draft { margin-top:15px;font-size:13px;min-height:170px;background:#080808;padding:15px;border:1px solid #444; }
.site-footer { padding:60px var(--pad) 30px;border-top:1px solid #333;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;background:#060606; }.site-footer .brand { width:155px; }.site-footer>div>p { color:#888;font-size:12px;line-height:1.7;margin:24px 0; }.site-footer nav { display:flex;flex-direction:column;align-items:flex-start;gap:20px; }.site-footer nav a,.site-footer nav button { font-size:9px;letter-spacing:.1em;background:transparent;padding:0;color:#aaa; }.footer-contact { display:flex;flex-direction:column;gap:22px;align-items:flex-end; }.footer-contact>a { font-size:14px; }.footer-contact>span { font-size:8px;letter-spacing:.13em;color:#888; }.footer-baseline { grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #222;padding-top:25px;font-size:8px;letter-spacing:.1em;color:#777; }
@media(min-width:900px) and (max-width:1100px) { .services-index { gap:4vw; }.index-row { grid-template-columns:28px 1fr 65px 20px;gap:10px; }.index-thumb { width:65px;height:65px; }.chapter-copy { width:310px; }.chapter-360 .chapter-copy { width:310px; }.chapter-tunel .chapter-copy { width:330px; }.chapter-love .chapter-copy { width:310px; }.chapter-cabina .chapter-detail { left:40%;width:160px;height:210px; } }
@media(max-width:1050px) { .contact-editorial { gap:4vw; }.contact-intro h2 { font-size:6.7vw; }.contact-micro { margin-top:50px; } }
@media(max-width:899px) {
 section[id],footer[id] { scroll-margin-top:95px; }.services-index { display:block;padding:85px var(--pad); }.index-intro h2 { font-size:9.2vw;max-width:650px; }.index-intro>p:not(.eyebrow) { font-size:14px; }.index-coordinate { margin-top:30px; }.index-list { padding-top:25px; }.index-row { grid-template-columns:28px 1fr 68px 20px;gap:12px;min-height:119px; }.index-name { font-size:clamp(17px,4.5vw,28px); }.index-thumb { width:68px;height:68px; }.index-number { font-size:20px; }.index-floating { display:none; }
 .service-progress { display:none; }.service-chapter { height:auto!important;min-height:1100px;padding:65px var(--pad) 40px; }.chapter-eyebrow { gap:16px; }.chapter-eyebrow .eyebrow { font-size:8px;letter-spacing:.15em; }.chapter-title,.chapter-360 .chapter-title,.chapter-tunel .chapter-title,.chapter-love .chapter-title { position:relative;left:auto;right:auto;top:auto;font-size:15vw;margin:435px 0 0;line-height:.9; }
 .chapter-cabina .chapter-title .title-mask:last-child { font-size:.56em; }.chapter-title::before { inset:-20% -15%;filter:blur(14px);background:radial-gradient(ellipse at 40% 50%,#000b,transparent 75%); }
 .chapter-visual,.chapter-360 .chapter-visual,.chapter-tunel .chapter-visual,.chapter-love .chapter-visual { top:115px;left:8%;right:auto;width:98%;height:450px; }.chapter-plate { transform:rotate(5deg); }.chapter-cabina .chapter-visual { width:90%;left:20%; }
 .chapter-copy,.chapter-360 .chapter-copy,.chapter-tunel .chapter-copy,.chapter-love .chapter-copy { position:relative;left:auto;right:auto;bottom:auto;width:100%;max-width:460px;margin:26px 0 0; }.chapter-copy>p { font-size:14px;line-height:1.8; }.chapter-copy::before { inset:-20px -25px; }
 .chapter-detail,.chapter-360 .chapter-detail,.chapter-love .chapter-detail { position:relative;left:auto;right:auto;top:auto;bottom:auto;width:42%;height:160px;margin:35px 0 0 auto;transform:rotate(-5deg); }.chapter-360 .chapter-detail { width:62%;height:170px; }
 .chapter-360 .chapter-title { font-size:21vw;margin-top:470px; }.chapter-360 .chapter-title .title-mask:last-child { font-size:.81em; }.chapter-360 .chapter-visual { left:5%;width:94%;height:530px; }.chapter-360 .chapter-title::before { background:radial-gradient(ellipse at 30% 45%,#000a,transparent 75%); }.chapter-360 .video-play { right:9%;bottom:15%; }
 .chapter-tunel .chapter-title { font-size:10.5vw;margin-top:270px; }.chapter-tunel .chapter-title .title-mask:nth-child(2),.chapter-tunel .chapter-title .title-mask:last-child { margin-left:0; }.chapter-tunel .chapter-visual { height:250px;left:-3%;width:106%;top:130px; }.chapter-tunel .chapter-detail { position:relative;left:auto;bottom:auto;top:auto;right:auto;width:72%;max-width:360px;height:auto;aspect-ratio:3/4;margin:40px 0 0 auto; }
 .chapter-love .chapter-title { font-size:12.7vw;margin-top:345px; }.chapter-love .chapter-title .title-mask:last-child { font-size:.7em; }.chapter-love .chapter-visual { left:-12%;top:120px;width:123%;height:360px; }
 .chapter-bottomline { position:relative;left:auto;right:auto;bottom:auto;margin-top:55px;gap:12px;font-size:7px; }.chapter-watermark { font-size:65vw;bottom:30%; }
 .gallery-teaser { min-height:1020px;height:1100px; }.teaser-piece-1 { width:51%;height:330px;left:-12%;top:4%; }.teaser-piece-2 { width:46%;height:300px;right:-12%;top:8%; }.teaser-piece-3 { width:50%;height:205px;left:47%;top:76%; }.teaser-piece-4 { width:56%;height:240px;left:-6%;bottom:5%; }.teaser-piece-5,.teaser-piece-6 { display:none; }.teaser-piece-7 { width:29%;height:150px;left:35%;top:6%; }.teaser-piece-8 { width:35%;height:185px;left:67%;bottom:21%; }
 .teaser-copy { top:33%; }.teaser-copy h2 { font-size:17vw;margin-top:20px; }.teaser-copy h2>.title-mask:first-child { font-size:.43em; }.teaser-copy h2>.title-mask:last-child { font-size:.8em; }.teaser-description { max-width:270px;font-size:14px; }.teaser-copy .button { gap:20px;padding-inline:22px;font-size:10px; }.teaser-meta { font-size:7px; }.teaser-piece figcaption { font-size:6px; }
 .archive-disclosure>summary { font-size:8px;letter-spacing:.08em;line-height:1.7; }.archive-disclosure .visual-journal { padding:25px 0 50px; }
 .contact-editorial { display:block;padding:85px var(--pad) 80px;min-height:auto; }.contact-intro h2 { font-size:16vw;margin-top:35px;max-width:700px; }.contact-intro>p:not(.eyebrow) { font-size:14px; }.contact-micro { margin-top:35px;max-width:400px;gap:15px 20px; }.contact-form { max-width:600px;margin-top:65px;gap:28px; }.contact-form input:not([type=checkbox]),.contact-form textarea { font-size:17px;min-height:52px; }.service-chip>span { font-size:10px;min-height:46px; }.contact-intro h2>.title-mask:last-child { font-size:.69em; }
 .site-footer { grid-template-columns:1fr 1fr;gap:40px 20px;padding-top:45px; }.footer-contact { grid-column:1/-1;align-items:flex-start;gap:18px; }.footer-baseline { flex-wrap:wrap;font-size:7px; }.footer-baseline>span:last-child { width:100%; }.site-footer .brand { width:135px; }.site-footer nav { gap:18px; }
}
@media(min-width:550px) and (max-width:899px) { .chapter-visual { height:580px; }.chapter-cabina .chapter-title { margin-top:530px; }.chapter-360 .chapter-visual { height:650px; }.chapter-360 .chapter-title { margin-top:550px; }.chapter-love .chapter-visual { height:430px; }.chapter-love .chapter-title { margin-top:420px; }.chapter-tunel .chapter-visual { height:370px; }.chapter-tunel .chapter-title { margin-top:370px; }.gallery-teaser { height:1400px; }.teaser-piece-1 { height:450px; }.teaser-piece-2 { height:400px; }.teaser-piece-3 { height:260px; }.teaser-piece-4 { height:320px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.index-row *,.service-progress,.service-chip>span { transition:none!important; }.index-floating { display:none!important; } }

@media(min-width:1101px) { .chapter-cabina .chapter-detail { left:40%;width:clamp(170px,14vw,235px);height:clamp(225px,18.5vw,310px); } }

/* On phones the alternate view belongs to the image composition, before the copy. */
@media(max-width:899px) {
 .chapter-cabina .chapter-detail,.chapter-360 .chapter-detail,.chapter-love .chapter-detail { position:absolute;z-index:3;margin:0;bottom:auto;right:auto; }
 .chapter-cabina .chapter-detail { top:365px;left:-2%;width:40%;height:175px; }
 .chapter-360 .chapter-detail { top:415px;left:-2%;width:58%;height:145px;transform:rotate(-5deg); }
 .chapter-love .chapter-detail { top:325px;left:58%;width:39%;height:160px;transform:rotate(7deg); }
 .chapter-cabina .detail-label,.chapter-360 .detail-label,.chapter-love .detail-label { display:none; }
 .chapter-tunel { display:flex;flex-direction:column; }
 .chapter-tunel .chapter-eyebrow { order:0; }
 .chapter-tunel .chapter-title { order:1; }
 .chapter-tunel .chapter-detail { order:2;align-self:center;left:auto;right:auto;width:80%;max-width:380px;margin:32px auto 42px;transform:rotate(0deg); }
 .chapter-tunel .chapter-copy { order:3; }
 .chapter-tunel .chapter-bottomline { order:4; }
 .chapter-tunel .detail-label { left:0;right:0;text-align:center; }
}
@media(min-width:550px) and (max-width:899px) {
 .chapter-cabina .chapter-detail { top:440px;width:34%;height:220px; }
 .chapter-360 .chapter-detail { top:515px;width:45%;height:180px; }
 .chapter-love .chapter-detail { top:370px;width:32%;height:210px;left:62%; }
}
@media(max-width:899px) {
 .service-chapter { min-height:0; }
 .chapter-visual .visual-coordinate { display:none; }
}
/* Native service links and quote context shared by landing and detail pages. */
.chapter-link{text-decoration:none}.chapter-gallery-secondary{display:block;background:transparent;font-size:8px;letter-spacing:.12em;color:#999;min-height:44px;padding:8px 0}.cabina-quote-options{border:0;padding:0;margin:0}.cabina-quote-options[hidden]{display:none}.cabina-quote-options>label{margin-top:20px;letter-spacing:.08em}.contact-form .personalization-choice{display:flex;flex-direction:row;align-items:center;gap:13px;font-size:11px;line-height:1.6;min-height:44px;letter-spacing:0}.personalization-choice input{width:18px;height:18px;min-height:18px;flex:none;accent-color:white}.cabina-quote-options select{background:#111;border-radius:0;min-height:48px}.quote-pack-label{font-size:12px;color:#ddd;line-height:1.6}.page-wipe{position:fixed;inset:0;background:#050505;z-index:200;pointer-events:none;clip-path:inset(100% 0 0 0);display:flex;align-items:center;justify-content:center}.page-wipe span{color:#bbb;font-size:10px;letter-spacing:.22em}.page-wipe.is-closing{pointer-events:auto}.page-read-progress{position:fixed;top:0;left:0;right:0;height:2px;background:#eee;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}@media(prefers-reduced-motion:reduce){.page-wipe{display:none}}
/* Shared navigation: native disclosure retains keyboard and no-JS support. */
.services-dropdown{position:relative}.services-dropdown>summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center}.services-dropdown>summary::-webkit-details-marker{display:none}.services-dropdown>summary>span{display:inline-block;transition:transform .25s}.services-dropdown[open]>summary>span{transform:rotate(180deg)}.service-dropdown-list{position:absolute;top:100%;left:-28px;width:370px;padding:15px 26px 20px;background:#080808f5;border:1px solid #ffffff25;backdrop-filter:blur(12px)}.service-dropdown-list>a{display:flex;align-items:center;gap:16px;min-height:64px;border-bottom:1px solid #ffffff20;text-decoration:none;transition:color .3s,transform .3s}.service-dropdown-list>a>span{font-size:9px;color:#777}.service-dropdown-list strong{font:800 12px/1.5 Manrope,sans-serif;letter-spacing:.015em}.service-dropdown-list i{font-size:17px;font-style:normal;margin-left:auto;transition:transform .3s}.service-dropdown-list a:hover i{transform:translate(3px,-3px)}.service-dropdown-list a:hover>span{color:white}.service-dropdown-list .service-index-link{min-height:46px;font-size:8px;letter-spacing:.09em;border-bottom:0;color:#999}.mobile-menu>a:not(.button){min-height:44px}
@media(min-width:768px) and (max-width:1100px){.desktop-nav{gap:18px}.desktop-nav>.nav-link,.services-dropdown>summary{font-size:9px}.brand{width:130px}.desktop-nav .button-outline{font-size:8px;padding-inline:14px;gap:12px}.service-dropdown-list{left:-70px}}
@media(max-width:767px){.mobile-menu{padding-top:115px}.mobile-menu>a:not(.button){font-size:clamp(25px,7.5vw,38px);padding-block:14px}.mobile-menu .button{margin-top:15px}}
/* Gallery context appears only for add-ons and the two real control demonstrations. */
.gallery-feature-access{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;border-bottom:1px solid #ffffff25;padding:5px 0 10px;margin-bottom:8px}.gallery-feature-access>span{font-size:8px;letter-spacing:.1em;color:#888}.gallery-feature-access button{background:transparent;border:1px solid #ffffff30;padding:9px 13px;min-height:44px;font-size:9px;letter-spacing:.06em}.gallery-feature-access button:hover{background:#ffffff0a;border-color:#aaa}.media-context{position:absolute;top:12px;left:12px;right:12px;z-index:4;width:fit-content;max-width:calc(100% - 24px);margin:0;padding:9px 12px;background:#050505df;border:1px solid #ffffff45;font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.5;pointer-events:none}.gallery-thumbnails .thumb-feature{left:3px;right:auto;bottom:3px;font-size:8px;font-weight:800;background:#eee;color:#050505;padding:2px 3px}.gallery-image,.journal-viewer{position:relative}
@media(max-width:767px){.gallery-feature-access{gap:8px}.gallery-feature-access>span{width:100%;font-size:7px}.gallery-feature-access button{font-size:8px;padding:8px 10px}.media-context{font-size:8px;letter-spacing:.03em}}

.gallery-thumbnails .thumb-page{min-width:44px;min-height:44px;background:#111;color:#fff;font-size:22px}
/* Shared contact channels: compact editorial labels and consistent SVGs. */
.footer-contact>a { display:flex;align-items:center;gap:12px;font-size:12px;max-width:100%; }
.footer-contact>a span { overflow-wrap:anywhere;line-height:1.6; }
.footer-contact small { display:block;font-size:8px;letter-spacing:.1em;color:#aaa; }
.footer-contact svg { flex:none;transition:transform .2s,color .2s; }
.footer-contact a:hover svg { transform:translateY(-2px) scale(1.05);color:#fff; }
.site-footer nav { gap:14px; }
.site-footer>div,.site-footer nav { min-width:0; }
@media(prefers-reduced-motion:reduce){.footer-contact svg{transition:none}.footer-contact a:hover svg{transform:none}}
.seo-service-context>p { max-width:720px;line-height:1.8;color:#aaa; }
.seo-service-context h2 { font-size:clamp(24px,4vw,40px);margin:36px 0 22px; }
.seo-service-context details { border-top:1px solid #333;padding:20px 0;max-width:850px; }
.seo-service-context summary { cursor:pointer;line-height:1.6;font-size:15px; }
.seo-service-context details p { color:#aaa;line-height:1.8;font-size:14px;max-width:720px; }
.seo-service-context .chapter-link { display:inline-block;margin-top:30px; }
